Code First 指定外鍵名稱

來源:互聯網
上載者:User

標籤:

指定類外鍵有注釋(DataAnnotation)和FluentAPI兩種方式,

目前掌握的知識我們先把DataAnnotation可用的四種方式總結如下

第一種方法:

//1-指定導覽屬性,會自動產生外鍵,命名規則為:“表名_主鍵名”//這種方式相容性非常好,稍後需要總結的關於一個類中出現兩個或者多個相同類屬性的時候就使用的這種方式,而下面的第三種方式就不成功,會出現錯誤,具體細節在下一篇部落格中介紹    public class User    {       //[Key]        public int UserID { get; set; }        public string Name { get; set; }    }    public class UserExtInfo    {        public int UserExtInfoID { get; set; }        //1-產生外鍵:User_UserID        public virtual User User { get; set; }    }

第二種方法:

//2-預設情況下與導覽屬性的主鍵名稱相同的欄位會自動被標記為外鍵,    public class User    {        public int UserID { get; set; }        public string Name { get; set; }    }    public class UserExtInfo    {        //2-產生外鍵:UserID        public int UserID { get; set; }        public virtual User User { get; set; } }    }

第三種方法:可指定產生的資料庫中的列名。

//3-通過[ForeignKey]標記指定實體類的屬性為外鍵,    public class User    {        public int UserID { get; set; }        public string Name { get; set; }    }    public class UserExtInfo    {        //3-產生外鍵:F_UserID        public int F_UserID { get; set; }        [ForeignKey("F_UserID")]        public virtual User User { get; set; }    }

第四種方法:可指定產生的資料庫中的列名。

//方式2的升級版,與導覽屬性的主鍵名稱相同的欄位會自動被標記為外鍵,然後指定欄位對應的資料庫中的列名  public class User    {        public int UserID { get; set; }        public string Name { get; set; }    }    public class UserExtInfo    {        //4-產生外鍵:F_UserID        [Column("F_UserID")]        public int UserID { get; set; }        public virtual User User { get; set; }    }

 

FluentAPI的方法等待補充----------------------

Code First 指定外鍵名稱

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.