如果我有课程Account
,AccountImage
和Image
public class Account{
public virtual List<AccountImage> AccountImages{get;set;}
}
public class AccountImage{
public virtual Image Image {get;set;}
}
public class Image{
public string ImageUrl {get;set;}
}
我有一个Account
对象想要加载Image
集合的AccountImages
个引用。
我可以像这样加载AccountImages
,
Db.Entry(v.acc).Collection(e => e.AccountImages).Load();
但我如何在不诉诸
的情况下加载Image
foreach(var ai in v.acc.AccountImages){
Db.Entry(ai).Reference(e => e.Image).Load();
}
并引发多个db命中?
答案 0 :(得分:2)
为避免显式加载中的foreach循环,您可以急切地加载导航属性:
var acc = db.Accounts.Include(a => a.AccountImages.Select(ai => ai.Image));