Ef Core 使用Entity方式配置外键

2023-05-16

一、Ef Core 使用Entry方式配置外键

当一个表中有多个外键指向同一个表时候,需要使用Entity方式执行具体外键约束名称,使用方法如下:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<DycUserConcern>(entity =>
    {
        entity.HasOne(q => q.MemberInfo2)
                .WithMany(q=>q.DeConcernList)
                .HasForeignKey(q => q.MemberID2)
                .HasConstraintName("FK__DycUserCo__Membe__690797E6");
    });
}

二、Entity方式配置其他约束,整理

 /// 实体映射到数据库中,EF会将表名创建为实体名的复数形式,这里就是强制使表名创建为实体名
        /// </summary>
        /// <param name="modelBuilder"></param>
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
            modelBuilder.Entity<ClassInfo>().ToTable("Class");//设置ClassInfo对应的表名为Class
            modelBuilder.Entity<ClassInfo>().Property(p=>p.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);//设置ClassInfo的Id为自增长
            modelBuilder.Entity<ClassInfo>().HasKey(p=>p.Id);//设置ClassInfo的Id属性为主键
            modelBuilder.Entity<ClassInfo>().Property(p=>p.Name).IsRequired();//设置ClassInfo的Name属性为非空
            modelBuilder.Entity<ClassInfo>().Property(p=>p.Name).HasMaxLength(32);//设置ClassInfo的Name属性值最大长度为32
            modelBuilder.Entity<ClassInfo>().Property(p=>p.CreateTime).IsRequired();//设置ClassInfo的CreateTime属性为非空
            modelBuilder.Entity<ClassInfo>().Property(p => p.CreateTime).HasColumnName("CTime");//设置ClassInfo的CreateTime属性名为CTime
            modelBuilder.Entity<ClassInfo>().Property(p => p.Remark).HasColumnType("ntext");//设置ClassInfo的Remark属性类型为ntext
            modelBuilder.Entity<ClassInfo>().Property(p => p.Remark).HasMaxLength(20);//设置ClassInfo的Remark属性值最大长度为32
            modelBuilder.Entity<ClassInfo>().Ignore(p => p.NotNeed);//忽略NotNeed字段
        }

更多:

EF null字段排序后置_Sql中Null字段排在后边

EF Linq To Sql 常用查询整理_常用使用方式整理

 EF And 和Or 条件拼接扩展整理

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ef Core 使用Entity方式配置外键 的相关文章

随机推荐

  • chrome jsonView插件安装

    由于谷歌浏览器经常打不开应用商店 xff0c 还有就是安装第三方插件的办法 方法就如下 xff1a 由于最近做和json相关的东西 xff0c 所以 xff0c 以jsonView插件为例分享一下 1 打开https github com
  • Gradle学习笔记 使用Gradle Wrapper

    Gradle可以在没有安装Gradle的情况下使用 xff0c 这时候就需要Gradle Wrapper了 Gradle Wrapper其实就是一个脚本文件 xff0c 它会在没有安装Gradle的情况下为我们下载Gradle xff0c
  • 《30天自制操作系统》:值得推荐的一本好书

    自己编写一个操作系统 xff0c 是许多程序员的梦想 也许有人曾经挑战过 xff0c 但因为太难而放弃了 其实你错了 xff0c 你的失败并不是因为编写操作系统太难 xff0c 而是因为没有人告诉你那其实是一件很简单的事 那么 xff0c
  • 验证谷角猜想

    import java util public class Test3 3 验证谷角猜想 xff1a 日本数学家谷角静夫在研究自然数时发现了一个奇怪的现象 对于任意一个自然数n xff0c 若n为偶数 xff0c 则将其除以2 xff1b
  • 生产者消费者问题(Linux多线程下两种实现)

    生产者消费者问题是同步问题中的一种常见情况 xff0c 借用一下维基百科的话 生产者消费者问题 xff08 英语 xff1a Producer consumer problem xff09 xff0c 也称 有限缓冲问题 xff08 英语
  • Mac Tomcat安装 localhost 拒绝了我们的连接请求

    Mac Tomcat安装 localhost 拒绝了我们的连接请求 Mac下安装Tomcat服务器 xff0c 下载的Tomcat10 在bin目录下 xff0c 授权 chmod 777 sh 启动Tomcat服务 startup sh
  • 从SAP最佳业务实践看企业管理(83)-PP-145按库存生产

    xfeff xfeff 从SAP 最佳业务实践看企业管理 83 PP 145 按库存生产 1 MTS 按库存生产 在按库存生产策略的类型中 xff0c 客户基本上对最终产品规格的确定没有什么建议或要求 xff0c 他们的投入很少 生产商生产
  • Jenkins学习笔记:解决插件安装问题

    安装插件结束后 xff0c 当时界面提示很多插件没有成功 xff0c 问我是否需要重试 xff0c 我安排到后面再做解决 今天打开Jenkins后 xff0c 发现之前的密码不能登录了 xff0c 仔细想了想 xff0c 记起之前改过了 用
  • Tensorflow lite for 移动端安卓开发(二)——完整详细过程训练自己的模型

    官方给的Tensorflow lite demo是ImageNet 中训练的1000类物体识别 xff0c 基于移动端的项目需要 xff0c 现在要用模型训练自己的数据 xff0c 提供两种训练方法 xff0c 这也是自己在摸索Tensor
  • 亚马逊,一个沉睡广告巨人的苏醒(虎嗅网)

    虽然拥有令无数广告主羡慕的高质量用户数据和巨大的网站流量 xff0c 但是在很长的一段时间内亚马逊还是将主要的精力集中在商品销售上 xff0c 广告只是作为自身业务的补充可有可无的存在 不过最近两年 xff0c 亚马逊对广告这种不屑的态度正
  • 大数据案例分析:电信业Hadoop应用分析 原文出自【比特网】,转载请保留原文链接:http://do.chinabyte.com/228/12410228.shtml

    电信业Hadoop应用分析 昨日 xff0c 联通研究院处长王志军在第七届 开源中国 开源世界 高峰论坛上分享了Hadoop在电信行业大数据应用的经验 随着国内3G网络的发展 xff0c 或者移动通信网络的发展 xff0c 中国联通 600
  • 大腕出手看门道,谈BAT的投资战略差异 三家战略投资的思考原点并不相同虎嗅网)

    中国互联网的收购之战 xff0c 比娱乐圈的明星离婚更一波三折和猜不透结局 当所有人以为搜狗被360牵回山寨只是早晚的事的时候 xff0c 搜狗和腾讯宣布好上了 眼瞅着今年第三季度即将结束 xff0c 中国互联网巨头们在2013年的 军备竞
  • JDK6的安装

    http www java net download jdk6 6u10 promoted b32 binaries jdk 6u10 rc2 bin b32 windows i586 p 12 sep 2008 exe XP 下 JDK6
  • 如何利用大数据进行价值兑现才是正经事(虎嗅网)

    如果有一天你可以预测未来 xff0c 你要做的第一件事情是什么 xff1f 买彩票 xff1f 第二件 第三件事情呢 xff1f 先卖个关子 xff0c 我们后面再说这件事情 大数据是个产业 xff0c 广义上指的是在这个信息过载时代围绕着
  • 络达开发---串口日志&日志过滤

    平台 xff1a AB1565M SDK版本 xff1a V2 11 0 开发环境 xff1a windows10 采用官方ATK中的日志工具可以通过硬件物理串口来实时查看芯片中软件的运行日志 如下图所示 xff0c 其实该ATK工具为一若
  • 多图震撼!数字的未来,2013报告(虎嗅网)

    新媒体 完爆 旧媒体 从市值上来看 xff0c 以苹果 谷歌 亚马逊 Facebook 雅虎等为首的新媒体公司市值已超过1万亿美元 xff0c 而以迪斯尼 Comcast 时代华纳 Viacom CBS 新闻集团 21世纪福克斯等为首的旧媒
  • 网页采集器-八爪鱼采集器

    八爪鱼采集器下载地址 xff1a http www bazhuayu cc download 八爪鱼采集器的注册地址 xff1a http www bazhuayu cc signup id 61 0e492e9c 6d80 4c2a a2
  • 考研书单与技巧

    书尽量在网上搞活动时买正版的 xff0c 这样也不贵 每科研究透一到两本书 xff0c 不要贪多 xff01 1 英语 xff1a xff08 积累的过程 xff0c 可以现在开始 xff0c 正好把六级过了 xff09 xff08 看好所
  • Tomcat 9安装配置教程

    首先 xff0c 先去这个网址下载Tomcat 9 http tomcat apache org 然后根据自己的电脑系统版本去下载相对应的文件 xff01 我的系统版本是 Windows 10 64位 xff0c 所以我选择 34 64 b
  • Ef Core 使用Entity方式配置外键

    一 Ef Core 使用Entry方式配置外键 当一个表中有多个外键指向同一个表时候 xff0c 需要使用Entity方式执行具体外键约束名称 xff0c 使用方法如下 xff1a protected override void OnMod