EF Code First导航属性一对一关系中注意点及配置方法

//学生
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);

 

posted @ 2018-08-14 11:34  James·wang  阅读(409)  评论(0编辑  收藏  举报