一、EF6连接SqlServer并结合使用MVC
1 准备环境
(1)开发工具:Visio studio 2022
(2)数据库:SQL2022-SSEI-Dev / 版本16.0.1000.6
(3)版本:.NET Framework 4.7.2
(4)程序包:EntityFramework6 6.4.4
2 创建一个数据库表并添加数据
(1)DDL
USE [selfStudy]
GO
CREATE TABLE [dbo].[class](
[id] [numeric](18, 0) NOT NULL,
[student_name] [nvarchar](10) NULL,
[student_sex] [nchar](10) NULL,
[student_age] [int] NULL,
[student_address] [nvarchar](10) NULL
) ON [PRIMARY]
GO
(2)数据
3 创建一个解决方案
(1)选择ASP.NET Web应用程序,点击下一步
(2)输入项目名称,点击创建
(3)选择空模板,右边勾选MVC,然后点击创建
(4)初始页面
4 使用NuGet添加程序包
5 添加模型
(1)添加ADO.NET实体数据模型
(2)选择第一个,下一步
(3)新建连接
(4)选第一个,继续
(5)填写对应数据库连接信息,并测试连接成功
服务器名为数据库连接时显示的服务器名称,可以到Microsoft SQL Server Management Studio工具中查看
(6)点击确定后,编写对应信息,然后点击下一步
(7)勾选数据库表,然后点击确定
(8)成功后的项目目录
6 添加MVC
(1)右击controllers,点击添加,选择控制器
(2)选择空模板
(3)设置名称,以controller结尾
(4)成功后的目录
(5)编写代码
using StudentTest2.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace StudentTest2.Controllers
{
public class StudentController : Controller
{
// GET: Student
public ActionResult Index()
{
StudentDb db = new StudentDb();
var queryStudent = from Student in db.student select Student;
return View(queryStudent);
}
}
}
(6)右击View函数,添加视图
取消勾选布局页,点击添加
7 编写前端代码(代码中的@为Razor,是一种标记语法)
@using StudentTest.Models
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
<table border="1" style="color:brown" width="300px" height="200px" align="center">
<tr>
<th>学号</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
<th>地址</th>
</tr>
@foreach (student s in Model) {
<tr align="center">
<td>@s.id</td>
<td>@s.student_name</td>
<td>@s.student_sex</td>
<td>@s.student_age</td>
<td>@s.student_address</td>
</tr>
}
</table>
</div>
</body>
</html>
8 修改路由
在项目目录下的APP_Start,将原本的Home改为Student,与Views目录下的Student目录名一致