0

如果我有以下对象:

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 映射如下所示:

modelBuilder.Entity<Application>()
    .HasMany(a => a.TestAccounts)
    .WithRequired(t => t.Application)
    .WillCascadeOnDelete(false);

在我的代码的一部分中,我想检索 Application 的数据并让它返回 TestAccount 数据。

在我的代码的另一部分,我想检索 Application 的数据并让它不返回 TestAccount 数据。

有没有办法可以通过 LINQ 或其他方式实现这一点?

4

1 回答 1

0

此问题已在此处得到解答:在 Entity Framework 4 中默认禁用延迟加载

基本上,在 DbContext 的构造函数中,只需添加以下内容:

this.Configuration.LazyLoadingEnabled = false;

我希望这有帮助。

编辑

另外,如果您想知道以后如何手动加载它,应该Include()像这样使用它是一件简单的事情:

var query = context.Application.Include(x => x.TestAccounts).ToList()

于 2013-03-06T04:23:36.503 回答