EF4 CTP5:DbContext继承

3
我有一个分层的DbContext结构,我想让一个专门的DbContext拥有自己的DbSets并继承BaseDbContextDbSets
当使用((IObjectContextAdapter)this).ObjectContext访问底层ObjectContext时,需要花费太长时间(几分钟)才能接收到ObjectContext
在CT5中,从派生的DbContext获取ObjectContext是否存在问题?
结构如下:DbContext(EF4) -> myBaseDbContext -> mySpecializedDbContext
这种情况是什么问题呢?它只是简单的POCO(CF),使用了TPC和一点继承。

你的DbContext层级有多大?你的层级中有多少个DbSet? - Ladislav Mrnka
DbSets的数量大约为20个加上8个派生的DbSets。并不是非常庞大。 - René Ittershagen
我还没有遇到过这个问题。你为什么需要获取 ObjectContext - Ladislav Mrnka
感谢回答,Ladislav。 我必须使用 ObjectContext,因为我想要调整代理创建和延迟加载的处理行为。另外,我还有一些需要“底层”oc的方法。 例如:"dbctx.UnderlyingContext.DeleteObject(entity);" 每次我以任何方式访问oc时都会出现问题... - René Ittershagen
你在ProxyCreation和LazyLoading方面做了什么重的工作吗?你能否移除其中一个并查看它是否会影响加载时间。 - JTew
1个回答

0

我在遵循以下方式时并没有性能问题,而且您也没有太多的 DbSets:

public class MyContext: DbContext
    {       
       //your DbSets<> and other

       public ObjectContext ObjectContext()
       {
          return (this as IObjectContextAdapter).ObjectContext;
       }
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接