我正在使用实体框架4.1,一个edmx映射文件用于使用T4模板生成poco类。实体框架4.1 - 如何为生成的poco对象获取列的名称
如何从我的poco实体属性的对象上下文中获取数据库列的名称(如果有可能的话)。
我相信性能和列之间的映射应在容器之一:
var container = objectContext.MetadataWorkspace
.GetEntityContainer(objectContext.DefaultContainerName, DataSpace.CSpace);
...
但我无法确定CSpase和SSpace之间的纽带,它看起来像CSSpase可能做的工作,但是这个容器是空的。
任何想法?
CSSpace完全内化。您需要执行非公共成员反射或阅读原始csspace xml以获取所需的信息。 – Jeff
我可以阅读edmx文件,但这是我想避免的。你有一个如何入侵CSSpace的例子吗? – BanditoBunny
我曾经采取非公开的反射路线,但事情开始打破数据模型的差异。我最终放弃了它,赞成xml路由,这是一个黑客(我猜)稍微少一点。您不需要阅读edmx本身。 edmx作为三个清单资源(ssdl,csdl和msl)嵌入在输出程序集中......因此您可以从这些资源中加载xml。 – Jeff