为什么EntityType返回上下文的名称空间,而不是实体的名称空间?

时间:2015-07-02 15:11:16

标签: .net entity-framework entity-framework-6.1

我需要从EntityType.FullName获取CLR实体类型,但它不正确。

我们的模型放在名称空间中,与上下文不同。

当我检索EntityType.FullName时,它会返回<ContextNamespace>.<EntityName>,但不会返回<EntityNamespace>.<EntityName>。这是一个功能吗?我做错了什么?

1 个答案:

答案 0 :(得分:0)

像往常一样......错误的假设。 CLR类型可在DataSpace.OSpace中找到。 来自CSpace的EntityType包含看似虚拟的&#39;命名空间,与CLR的命名空间有点无关。

Rowan写了一篇关于获取给定类型元数据的好post

看起来Name是唯一将CLR类型与EntityType连接起来的东西 我尝试添加新的DbSet来自不同命名空间但具有相同类名的实体。 EF只是扔了InvalidOperationException