实体框架:急切加载TPT的子类类型的属性

时间:2014-03-17 11:07:37

标签: c# entity-framework linq-to-entities lazy-loading eager

我使用Table per Type我有类似的东西

class A
{
    //some properties
}

class B : A
{
    //some properties        
}

class C : A
{
    //some properties  
    public virtual D D;      
}

class D
{
    //some properties
}

class E
{
    //some properties  
    public virtual A A;
}

class MyDbContext : DbContext
{
    public DbSet<E> Eis { get; set; }

    ...
}

当我检索类型为E的对象时,我想对类类型C的属性D执行急切加载。这样的事情

DbContext.Eis.Include("A")/*But I'm not able also to add .Include("A.D")*/;

在这种情况下是否可以进行急切加载?

更新

@Marty说这是不可能的。在我看来,我只能使用延迟加载,对吗?但我想强行加载对象,因为我将在处理DbContext之后使用对象。那我该怎么做呢?目前我使用for循环访问每个元素以进行延迟加载。

0 个答案:

没有答案