Ash*_*ani 7 c# asp.net asp.net-mvc entity-framework
想象一下,我们有三个Dbset如下:
Category
{
...
public virtual ICollection<Item> Items {get; set;}
...
}
Item
{
...
public virtual ICollection<Specification> Specifications{get; set;}
...
}
Specification
{
...
}
Run Code Online (Sandbox Code Playgroud)
对于急切加载,我使用它像这样:
Category cat = db.Categories.Include(c=> c.Items).FirstOrDefault(c=> c.Id == 1);
Run Code Online (Sandbox Code Playgroud)
但现在的问题是
cat.Items[0].Specifications是null,我们怎样才能让它急切加载集合的子集合呢?
PS:我尝试删除virtual关键字进行测试(我不想删除它),但它也没有用.
您也可以使用表示法
db.Categories.Include("Items.Specifications")
Run Code Online (Sandbox Code Playgroud)
请注意,它必须是一个字符串
Category cat = db.Categories
.Include(c => c.Items.Select(s => s.Specifications))
.FirstOrDefault(c => c.Id == 1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1951 次 |
| 最近记录: |