我在Microsoft教程中找到了这些实体:
public class Enrollment
{
public int Id{ get; set; }
public int StudentId { get; set; }
public Student Student { get; set; }
}
public class Student
{
public int Id { get; set; }
public ICollection<Enrollment> Enrollments { get; set; }
}
我真的需要定义StudentId
属性吗?
如果有不同类型的关系,案件会有何不同?例如one-one
和one-many
?
在这个链接http://www.learnentityframeworkcore.com/relationships中我们可以看到,在One-Many和Many-Many中,他们没有定义Id外键属性,但在One-One中,他们确实如此。那是为什么?
答案 0 :(得分:3)
我在此页面中找到了我的问题的部分答案:
http://www.learnentityframeworkcore.com/conventions
外键暗影属性:
如果您选择不在关系的从属端显式包含外键属性,则EF Core将使用模式Id创建阴影属性。
但我仍然不知道在所有类型的关系中是否都是这种情况。
我希望能有所帮助。
好了,现在我找到了我想要了解和理解的内容,请查看这些链接,其中包括创建模型(实体)的不同惯例:
http://www.learnentityframeworkcore.com/conventions/one-to-many-relationship
http://www.learnentityframeworkcore.com/conventions/one-to-one-relationship