菜的像徐坤
排名
7
文章
192
粉丝
15
评论
16
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

Code First添加外键约束

5717人阅读 2021/3/26 10:41 总访问:1017239 评论:0 收藏:0 手机
分类: EF

实体对象进行关联(给学生表定义外键)

  1.      //学生表实体
  2.     public partial class UserInfo
  3.     {
  4.         [Key]
  5.         public int Sid { getset; }
  6.         [StringLength(16,MinimumLength=2)]
  7.         [Required, Column("UserName")]
  8.         public string UserName { getset; }
  9.         [StringLength(10, MinimumLength = 2)]
  10.         [Required, Column("UserNum")]
  11.         public string UserNum { getset; }
  12.         
  13.         //自定义字段外键
  14.         [ForeignKey("parent")]
  15.         public int Fid { getset; }
  16.         //导航属性
  17.         public virtual Parents parent { getset; }
  18.     }
  19.   //家长表
  20.   public class Parents
  21.     {
  22.         [Key]
  23.         public int Sid { getset; }
  24.         [StringLength(16, MinimumLength = 2)]
  25.         [Required, Column("Father")]
  26.         public string Father { getset; }
  27.         [StringLength(16, MinimumLength = 2)]
  28.         [Required, Column("Mather")]
  29.         public string Mather { getset; }
  30.         [Required, Column("Uid")]
  31.         public int Uid { getset; }
  32.         //导航属性
  33.         public virtual List<UserInfo> userinfo { getset; }
  34.     }

上下文对象重写添加外键

  1.    
  2.          //重写方法
  3.         protected override void OnModelCreating(DbModelBuilder modelBuilder)
  4.         {
  5.             //绑学生表的Fid字段为外键
  6.             modelBuilder.Entity<UserInfo>().HasRequired(a => a.parent).WithMany(a =>a.userinfo).HasForeignKey(a=>a.Fid);
  7.         }
  8.         //或者
  9.          protected override void OnModelCreating(DbModelBuilder modelBuilder)
  10.         {
  11.             //绑学生表的Fid字段为外键
  12.             modelBuilder.Entity<Parents>().HasMany(a=>a.userinfo).WithRequired(a=>a.parent).HasForeignKey(a=>a.Fid)
  13.         }


评价

NET Core 使用 EF Code First

下面这些内容很老了看这篇:https://www.tnblog.net/aojiancc2/article/details/5365 项目使用多层,把数据库访问...

Code First执行命令报错,无法将“Enable-Migrations”项识别为 cmdlet、函数、脚本文件

EF:执行命令报错无法将“Enable-Migrations”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如...

EF Code First常用命令

Enable-Migrations启用数据库迁移Enable-Migrations –EnableAutomaticMigrations 启动自动迁移Add-Migration Name(名字可...

EF Code First 多对多关系配置

Code First配置多对多关系,常规有两种方法例如我们有一张学生表,和一张课程表,学生和课程是一个多对多的关系方法1:单纯...

EF Code First配置1对多关系,配置外键关系

方法一:通过默认名称,导航属性名称+主表主键注意这个是属性不是字段!,要加get,set可能会因为很久没有用,就忘记了,写...

EF Code First操作数据库具体步奏

创建两个类库,分别一个实体类Model,一个帮助类DAL用于操作数据库配置在实体层类添加属性和字段用于创建数据库的表,同时添加...

Code First迁移命令

Enable-Migrations启用数据库迁移Enable-Migrations –EnableAutomaticMigrations 启动自动迁移Update-Database 更新到数据...

EF Code First配置唯一约束

在EntityFramework 6.1后可以直接使用:[Index(&quot;TitleIndex&quot;,IsUnique=true)] publicstringTitle{get;set;}在旧...

Core EF Code First-黑色主题效果

[TOC] 创建好实体Student类: public class Student { public int ID { get; set; } public string LastName ...

.NET CORE EF数据库迁移,以及迁移命令详解。Code First。在不删除表的情况下保持同步

.NET CORE EF 数据库迁移需要的依赖Install-Package Microsoft.EntityFrameworkCore.SqlServer -version 3.1.1 Install-Pa...

Code First 基础

第一步:创建好实体第二步:创建上下文对象第三步;实体对象与上下文进行关联第四步:配置连接字符串第五步SaveChanges写入...

Code First 创建

第一步:创建好实体 如 限制条件如果写出来没有应用可以去在该类库中添加一个ADO.NET实体数据模型 然后建立一个空模型,...

Code First 配置外键 一对多 多对多

?配置外键 一:导航属性 外键字段在模型中没有,没法自己去控制联和查询只能使用导航属性 //子表 namespaceModel ...

Code First 配置多对多关系

配置多对多关系,应该有一个中间表,用于关联,关联表至少两个字段,就是两张表的id//默认导航属性 //先定义一个中间表 ...

Code First 分组

根据linq表达式//实例化数据 SchoolContextschoolcontext=newSchoolContext(); //linq表达式 varInfo=fromscroeinsc...