如何正确使用两个多对一关系
本文关键字:两个 多对一 关系 何正确 | 更新日期: 2023-09-27 17:58:23
如何正确使用两个多对一关系?
public class Man
{
public Man()
{
}
[Key]
public int idMan; { get; set; }
[Required]
public string ManName { get; set; }
public virtual List<Computer> listComputersBought { get; set; }
public virtual List<Computer> listComputersSold { get; set; }
}
public class Computer
{
public Computer()
{
}
[Key]
public int idComputer{ get; set; }
public string ComputerName {get;set;}
[ForeignKey("ManVendor")]
public int idManVendor{ get; set; }
public virtual Man ManVendor { get; set; }
[ForeignKey("ManBuyer")]
public int idManBuyer{ get; set; }
public virtual Man ManBuyer { get; set; }
}
我正试图建立两种多对一的关系。这样做,我得到以下错误:
类型"Project1.Models.Computer"的属性"idManBuyer"的ForeignKeyAttribute无效。在依赖类型"Project1.Models.Computer"上找不到导航属性"ManBuyer"。Name值应该是有效的导航属性名称。
请问如何解决这个问题?
有什么绝妙的主意吗?
非常感谢!
这样做:
public class Man
{
public Man()
{
}
[Key]
public int idMan; { get; set; }
[Required]
public string ManName { get; set; }
public virtual ICollection<Computer> listComputersBought { get; set; }
public virtual ICollection<Computer> listComputersSold { get; set; }
}
public class Computer
{
public Computer()
{
}
[Key]
public int idComputer{ get; set; }
public string ComputerName {get;set;}
[ForeignKey("ManBuyer")]
public int idMan{ get; set; }
public virtual Man ManBuyer { get; set; }
}