我正在尝试在EF之上编写一些扩展,并且我需要能够首先检查代码ObjectContext并在其中检索实体类型。我觉得这应该在元数据工作空间中的某个位置可用,但是我不确定在哪里查找。我正在使用EF 5。
请注意,我们没有使用任何类型的代码生成来创建上下文,也没有在DbContext基类上放置特定于类型的DbSet访问器。因此,我不能简单地思考DbContext / ObjectContext来查找此类属性。
我认为这应该工作:
var objectItemCollection =
(ObjectItemCollection )((IObjectContextAdapter)ctx)
.ObjectContext.MetadataWorkspace.GetItemCollection(DataSpace.OSpace);
foreach(var entityType in objectItemCollection.GetItems<EntityType>())
{
Console.WriteLine(objectItemCollection.GetClrType(entityType).FullName);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句