创建实体,引用另一个现有对象

时间:2015-01-25 21:02:58

标签: c# entity-framework

public class Link
{
    public virtual Category Category { get; set; }
}
public class Category
{
    public Category(){Links = new List<Link>}
    public virtual IList<Link> Links {get; set;}
}

我的问题是当我想创建链接时引用类别我得到了外键错误。 我尝试使用流畅的api,得到回购类别,但仍然是同样的问题。 EF想要创建Category的新对象。

要传递数据,我会进入控制器第二个回购(类别)并传递给viewbag数据。 花了4个小时才找到解决方案,但我一无所获,有人可以向我解释它是如何工作的,我无法通过:/

1 个答案:

答案 0 :(得分:0)

您的两个类都需要可以映射到主键的属性。这通常使用名为int ...

ID来完成
public class Link
{
    public int ID { get; set; }
    public virtual Category Category { get; set; }
}
public class Category
{
    public int ID { get; set; }
    public Category(){Links = new List<Link>}
    public virtual IList<Link> Links {get; set;}
}