zoukankan      html  css  js  c++  java
  • EF CodeFirst EntityTypeConfiguration 自关联映射配置

    实体示例代码:

        public class Message
        {
            public Message()
            {
            }
    
            public int ID { get; private set; }
            public string Title { get; private set; }
            public Message ParentMessage { get; private set; }
        }
    

    想要的效果是,使用 EF 映射配置,在数据库生成的 Message 表字段为:ID、Title、ParentID。

    需要注意的是,在实体属性中并没有 ParentID,映射配置代码:

                HasOptional(x => x.ParentMessage)
                    .WithMany()
                    .Map(x => x.MapKey("ParentID"))//自定义映射外键字段名称
                    //.HasForeignKey(c => c.ParentID)//如果已有 ParentID,可以直接指定
                    .WillCascadeOnDelete(false);//不级联删除
    

    HasOptional 映射配置 ParentID 为 null,如果想配置为 not null,可使用 HasRequired。

  • 相关阅读:
    记在百度(熊场)的一次面试
    smarty模板引擎的整理
    图片轮播原理
    递归遍历目录及删除文件
    Java入门
    Java入门
    Java入门
    Java入门
    开课导读
    Java入门
  • 原文地址:https://www.cnblogs.com/xishuai/p/4015080.html
Copyright © 2011-2022 走看看