C# 参照另一个现有对象创建实体 公共类链接 { 公共虚拟类别{get;set;} } 公共类类别 { 公共类别(){Links=new List} 公共虚拟IList链接{get;set;} }

C# 参照另一个现有对象创建实体 公共类链接 { 公共虚拟类别{get;set;} } 公共类类别 { 公共类别(){Links=new List} 公共虚拟IList链接{get;set;} },c#,entity-framework,C#,Entity Framework,我的问题是,当我想创建一个关于类别的链接时,外键出现了一个错误。 我尝试使用fluentapi,得到抛出的repo类别,但仍然存在相同的问题。 EF希望创建类别的新对象 要传递数据,我需要将数据传递到控制器第二个repo(类别)并传递到viewbag数据。 花了4个小时来寻找解决方案,但我仍然一无所获,有人能给我解释一下它是如何工作的吗?我无法通过://您的两个类都需要可以映射到主键的属性。这通常是通过名为ID的int完成的 public class Link { public virt

我的问题是,当我想创建一个关于类别的链接时,外键出现了一个错误。 我尝试使用fluentapi,得到抛出的repo类别,但仍然存在相同的问题。 EF希望创建类别的新对象

要传递数据,我需要将数据传递到控制器第二个repo(类别)并传递到viewbag数据。
花了4个小时来寻找解决方案,但我仍然一无所获,有人能给我解释一下它是如何工作的吗?我无法通过://

您的两个类都需要可以映射到主键的属性。这通常是通过名为
ID
int
完成的

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;}
}
公共类链接
{
公共int ID{get;set;}
公共虚拟类别{get;set;}
}
公共类类别
{
公共int ID{get;set;}
公共类别(){Links=new List}
公共虚拟IList链接{get;set;}
}

请发布您收到的错误消息。
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;}
}