如果我有以下物品:
public class Application
{
public int ApplicationId { get; set; }
public string Name { get; set; }
public virtual ICollection<TestAccount> TestAccounts { get; set; }
}
public class TestAccount
{
public int TestAccountId { get; set; }
public int ApplicationId { get; set; }
public string Name { get; set; }
public virtual Application Application { get; set; }
}
EF Mapping看起来像这样:
modelBuilder.Entity<Application>()
.HasMany(a => a.TestAccounts)
.WithRequired(t => t.Application)
.WillCascadeOnDelete(false);
在我的代码的一部分中,我想检索Application的数据并拥有 它返回TestAccount数据。
在我的代码的另一部分,我想检索Application和的数据 让它不返回TestAccount数据。
有没有办法可以用LINQ或其他方式实现这一点?
答案 0 :(得分:0)
此问题已在此处得到解答:Disable lazy loading by default in Entity Framework 4。
基本上,在DbContext的构造函数中,只需添加:
this.Configuration.LazyLoadingEnabled = false;
我希望这会有所帮助。
修改强>
另外,如果您想知道以后如何手动加载它,那么使用Include()
应该是一个简单的问题:
var query = context.Application.Include(x => x.TestAccounts).ToList()