将DBContext转换为ObjectContext时,没有任何实体可用

时间:2012-10-10 10:40:19

标签: entity-framework ef-code-first dbcontext objectcontext

我已将现有项目更改为首先使用EF5和代码。它使用的是依赖于旧ObjectContext的存储库类。为了使存储库实现保持不变,我在DBContext上创建了一个属性,它将返回一个ObjectContext:

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

问题是,在此之后,ObjectContext上的实体不可用,因此以下代码失败:

string GetSetName<T>() {
    var entitySetProperty =
    _context.GetType().GetProperties()
       .Single(p => p.PropertyType.IsGenericType && typeof(IQueryable<>)
       .MakeGenericType(typeof(T)).IsAssignableFrom(p.PropertyType));

    return entitySetProperty.Name;
}

原始DBContext在将其转换为ObjectContext之前具有所有可用实体,但由于ObjectContext类没有我的实体的属性,我该如何访问它们?

0 个答案:

没有答案