【发布时间】:2014-11-27 03:41:11
【问题描述】:
我在理解 Entity Framework Code Firsts 关系创建时遇到问题,因为我更习惯于传统方式。
一对多关系对我来说似乎很清楚:孩子只需要一个 foreignKey ID 属性来指示他们属于哪个 Parent。
public class Parent
{
public int Id { get; set; }
public virtual ICollection<Child> Childs { get; set; }
}
public class Child
{
public int Id { get; set; }
public int ParentId { get; set; }
public virtual Parent Parent { get; set; }
}
现在,我不太确定如何正确创建 多对多 关系。可能需要一个额外的表ParentChild,所以不需要(外键)ID属性吧?
public class Parent
{
public int Id { get; set; }
public virtual ICollection<Child> Childs { get; set; }
}
public class Child
{
public int Id { get; set; }
public virtual ICollection<Parent> Parents { get; set; }
}
现在,对于一对一的关系,我不知道。 公共课家长 { 公共 int ID { 获取;放; }
public int ChildID { get; set; }
public virtual Child child { get; set; }
}
public class Child
{
public int Id { get; set; }
public int ParentId { get; set; }
public virtual Parent Parent { get; set; }
}
是否甚至需要外部 ID 属性,或者我可以在 Parent 类中拥有一个 Child 属性,在 Child 类中拥有一个 Parent-type 属性?当我省略外键 ID 属性时,是否允许使用 virtual 关键字?
【问题讨论】:
标签: sql database entity-framework ef-code-first entity-framework-6