[英]Referenced objects are not being populated in EF6 collection
因此,我有一个具有Salesman
和Region
的模型。 推销员属于一个区域。
推销员
public class Salesman : Employee
{
public Salesman()
{
this.Invoices = new List<Invoice>();
}
public int? RegionId { get; set; }
[ForeignKey("RegionId")]
public virtual Region Region { get; set; }
public virtual ICollection<Invoice> Invoices { get; set; }
}
Salesman
使用存储的基本名称,地址等数据继承Employee
这是不相关的。
Region.cs
public class Region
{
public Region()
{
this.Salesmen = new List<Salesman>();
}
[Key]
public int Id { get; set; }
[Required]
public string Name { get; set; }
public int? SalesManagerId { get; set; }
[ForeignKey("SalesManagerId")]
public virtual Salesman SalesManager { get; set; }
public virtual ICollection<Salesman> Salesmen { get; set; }
}
我遇到的问题是,与其他项目一样,EF没有填补Region.Salesmen
。
Region在Salesman.Region
属性中填充良好。
在项目中尝试过的东西
ICollection
更改为ISet
我可能认为这可能与诸如Salesman-> Salesman而不是Salesman-> Salesmans这样的命名约定有关
提前致谢。
因此,我通过向ICollection<Salesman> Salesmen
属性添加属性来解决了该问题。
现在我的模型看起来像这样...
public class Region
{
public Region()
{
this.Salesmen = new List<Salesman>();
}
[Key]
public int Id { get; set; }
[Required]
public string Name { get; set; }
public int? SalesManagerId { get; set; }
[ForeignKey("SalesManagerId")]
public virtual Salesman SalesManager { get; set; }
[InverseProperty("Region")]
public virtual ICollection<Salesman> Salesmen { get; set; }
}
不要问我为什么它起作用,以及为什么EF在没有一点帮助的情况下无法将其链接..但是它确实起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.