ASP .NET EF模型创建以及双表关系建立

文章目录

 准备工作

一、创建表格以及两表外键连接

二、EF模型创建

1.连接sql server数据库

2.创建网页显示表格数据

错误总结


 准备工作

本文工具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,以及在新建连接界面勾选信任服务器证书

  • 20
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值