EF4 Code First:父/子关系在同一个表中,如何获得反向属性?

时间:2011-07-20 12:43:42

标签: c# asp.net-mvc ef-code-first

我有一个被安排到层次结构中的类,例如:

class Item
{
    [Key]
    public int ID {get;set;}
    public string PropA {get;set;}
    public string PropB {get;set;}

    public Virtual ICollection<Item> Children {get;set;}
}

这很好用,EF会创建一个Item_ID键来标识父级。我通过我的MVC应用程序导出这些数据,然而需要访问此密钥。

如何从项目中访问父ID?

我尝试了[InverseProperty]标签,但似乎想要创建另一个密钥 - 如何才能使用已存在于我的数据库中的现有Item_ID字段并使用我的Children导航属性正常工作?< / p>

谢谢!

好的,我必须手动将我的数据库列frmo Item_ID的名称更改为Parent_ID,然后一切正常。我有以下内容:

[InverseProperty("Parent")]
public virtual ICollection<Item> Children { get; set; }

[InverseProperty("Contents")]
public virtual Item Parent { get; set; }

1 个答案:

答案 0 :(得分:2)

我认为你必须添加一个

public virtual Item Parent {get;set;}