EF Code First导航属性一对一关系中注意点及配置方法
Posted firstcsharp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
以上是关于EF Code First导航属性一对一关系中注意点及配置方法的主要内容,如果未能解决你的问题,请参考以下文章
EF 6.1 Code First 中与不同主键的一对一关系