在Entity Framework中,如何搜索EF中位于顶层的对象?
如果我有一组包含子零部件的部件。这些部件可以放置在较大的部件中。
在一个真实的例子中:假设我们用一台计算机构建了一个机柜,并且计算机有部件。如何查找尚未安装在机柜中的计算机或未安装在计算机中的部件?
public class Component
{
public int Id { get; set; }
public string Model { get; set; }
public string PartId { get; set; }
public DateTime Manufactured { get; set; }
public string SerialNumber { get; set; }
public string ProductType { get; set; }
public string Description { get; set; }
public virtual List<Component> SubComponents { get; set; }
}发布于 2013-02-17 11:02:50
我想我在这里找到了答案...Self Referencing Tables
public class Component
{
[Key]
public int Id { get; set; }
public string Model { get; set; }
public string PartId { get; set; }
public DateTime Manufactured { get; set; }
public string SerialNumber { get; set; }
public string ProductType { get; set; }
//Added this...
public int? ParentComponentId { get; set; }
[ForeignKey("ParentComponentId")]
public virtual Component ParentComponent { get; set; }
public virtual List<Component> SubComponents { get; set; }
public string Description { get; set; }
}最初,我试图向SubComponents添加一个外键,但实际上我需要父关系上的FK。现在我的EF查询看起来像这样...
return _db.Components.Where(x => x.ParentComponent == null).ToList();https://stackoverflow.com/questions/14917480
复制相似问题