文章出處

實體示例代碼:

    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。


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()