EF CTP5 映射具有不同列名的主键
Property 有一个名为 HasColumnName 的流畅方法。 HasKey 缺少这一点。在CTP4中,可以通过MapSingleType指定不同的列名,但是如果我尝试使用Map(取代了MapSingleType),它不起作用。有什么想法吗?
Property has a fluent method called HasColumnName. HasKey is missing that. In CTP4 it was possible to specify different column names through MapSingleType, but if I try to use Map (which replaced MapSingleType), it doesn't work. Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这不行吗?
Does this not work?
CTP5的API似乎没有提供这种可能性。
我们成功地做的是让 ModelBuilder 使用错误的密钥构建其 MetaDataWorkspace。
然后,一旦构建完成,在 objectContext 中,我们在 SSPace 中搜索物理实体(表和列)的存储,然后通过反射更改“错误”列名称的元数据属性的名称。
我知道,这远不是正确的方法,但这是我找到的唯一方法。
我们为 ObjectBuilder 做了一个扩展方法,它替换了这样的列名,因此键映射到正确的列。
It seems that the API of CTP5 doesn't offer such possibility.
What we succeed to do, is to let the ModelBuilder build its MetaDataWorkspace with the wrong key.
Then, once it is built, in the objectContext, we searched in the SSPace , the storage of Physical entities (tables and columns), then, by reflection, changed the name of the metadataproperty of the 'wrong' column name.
I know, this is far to be the right way, but it is the only one I found.
We made an extension method to the ObjectBuilder, that replaces such column name, so the keys map to the correct column.