.net – 从数据模型生成的所有实体的列表

如何获取从实体数据模型(* .edmx)生成的所有实体类型的列表?

我已经拥有数据库中的表名和模型实例(.edmx).

我想要一个所有数据实体的Type实例.

让我们假设我的数据库有两个表:
雇员
EmployeeType

然后模型将生成2个类并映射数据.我正在搜索的是一种获取List(类型)的方法.
在这种情况下,结果列表将计算Employee.GetType()和EmployeeType.getType()的实例

谢谢!

(VS2010,VB.NET,EF4)

最佳答案 其中一种方法是:

((EdmItemCollection)ctx
    .MetadataWorkspace
    .GetItemCollection(DataSpace.CSpace))
    .GetItems<EntityType>()

我之前没有尝试过,但您甚至可以直接从工作区获取项目:

ctx.MetadataWorkspace.GetItems<EntityType>(DataSpace.CSpace)

如果您使用的是DbContext,则可以按如下方式获取ObjectContext:

((IObjectContextAdapter)ctx).ObjectContext
点赞