文章目录
准备工作
本文工具sql server和Visual Studio 2022,Visual Studio项目创建新建项目->选择c# windows web
找到并选择ASP.NET Web应用程序(.NET Framework)->创建点击选择MVC->创建文件成功。
该文章是基于MVC项目模版下!建议先看总结!
一、创建表格以及两表外键连接
1.示例:创建Users和Roles如图:
2.给UserId和RoleId设置主键,右击Users表中的RoleId点击关系
设置表和列规范如下图:
外键关系创建成功
二、EF模型创建
1.连接sql server数据库
1).进入Visual Studio点开sql server对象资源管理器
右击点击添加sql server选择本地服务器并将信任服务器证书更改为True,点击连接。
2).构建EF模型
(1)右击Models->添加->新建项
(2)选择 ADO.NET实体数据模型->来自数据库的EF设计器->新建连接->输入本机的服务器名称->选择表格所在服务器->选择表格所在数据库。->测试连接->连接成功->确定
(3)实体模型向导->下一步->选择表格->完成->创建EF模型成功
2.创建网页显示表格数据
1.Controllers文件下HomeController.cs代码
private readonly studentEntities db=new studentEntities();
public ActionResult Index()
{
var results=db.Roles.ToList();
return View(results);
}
2.home文件下Index.cshtml主页代码
@model IEnumerable<WebApplication1.Models.Roles>
<table class="table table-bordered">
<tr>
<td>@Html.DisplayNameFor(model => model.Roleld)</td>
<td>@Html.DisplayNameFor(model => model.RoleName)</td>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@Html.DisplayFor(r => item.Roleld)</td>
<td>@Html.DisplayFor(r => item.RoleName)</td>
</tr>
}
</table>
3.主页运行结果如下:
错误总结
1.两表外键关系建立发生错误 错误如图
此处提示表中的列与现有主键或UNIQUE约束不匹配
官方解释是:外键关系的主键方上的列必须参与主键或唯一约束。为选定的一个表设置主键或唯一约束后,即可为该表定义其他关系。
通俗点就是外键列必须包含的值必须存在于被引用表的主键或唯一键列中。最后发现是忘记给表格设置主键。
2.连接时需要信任服务器证书更改为True,以及在新建连接界面勾选信任服务器证书