EF Code First導航屬性一對一關係中注意點及配置方法

weixin_34162629發表於2018-08-14
//學生
public class Student
    {
       [key]
        public int StId { get; set; }
        public int SocialSecurityNumber { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public virsual StPhoto Photo { get; set; }
    }
//學生圖片
    public class StPhoto
    {
        [Key, ForeignKey("Student")]
        public int StId { get; set; }
        public byte[] Photo { get; set; }
        public string Caption { get; set; }
        public virsual  Student StudentInfo{ get; set; }
    }

無法確定型別“BreakAway.StPhoto”與“BreakAway.Student”之間的關聯的主體端。必須使用關係 Fluent API 或資料註釋顯式配置此關聯的主體端

因為Code First無法確認哪個是依賴類,必須使用Fluent API或Data Annotations進行顯示配置。

使用Fluent API:

modelBuilder.Entity<StPhoto>().HasRequired(p => p.StudentInfo).WithOptional(p => p.Photo);

 

相關文章