获取 model.tt 下所有可用 类 的名称:Entity Framework 6

Get name of all available classes under model.tt : Entity Framework 6

我想获取所有可用的 类 名称,这些名称列在 Model.tt.

我试过下面的一段代码来获取它们,但它只给出了 table 名称,而不是通过存储过程导入的复杂类型:

var x = ((IObjectContextAdapter)d).ObjectContext.MetadataWorkspace.GetItems<EntityType>(DataSpace.CSpace); // d is my context object.

我已经尝试了 DataSpace enum 的所有可用选项,但没有成功。

以上代码仅 returns table 名称如 Employee, Department 但我想获得复杂类型以及 USP_GetDepartments_Result, USP_GetAllEmployee_Result 是从存储过程生成的复杂类型。

我正在使用 EntityFrameWork 版本 6。我在 Whosebug 上进行了搜索,但没有得到与存储过程部分相关的结果。

最后我通过下面的代码行得到了我的结果:

((IObjectContextAdapter)d).ObjectContext.MetadataWorkspace.GetItems(DataSpace.CSpace)

它为我提供了所有类型的对象上下文。然后我过滤它们并得到复杂类型。