假设我们有一个像下面的第三Dbsets:的EntityFramework包括(贪婪加载)虚拟财产的虚拟财产
Category
{
...
public virtual ICollection<Item> Items {get; set;}
...
}
Item
{
...
public virtual ICollection<Specification> Specifications{get; set;}
...
}
Specification
{
...
}
对于预先加载我用这样的:
Category cat = db.Categories.Include(c=> c.Items).FirstOrDefault(c=> c.Id == 1);
但现在的问题是
cat.Items[0].Specifications
是null
,我们怎样才能使它成为热门的集合子集合呢?
P.S .:我试图删除virtual
关键字进行测试(我不想删除它),但它也没有工作。
如果*转到VS定义为*'Include'方法,你会发现一个完整的帮助主题,描述不同的'Include'场景。基本上你需要使用“选择”向下导航。 –
您可以使用其他包含。以字符串作为参数的那个。然后你可以这样做:'Include(“Items.Specifications”)' – Alex