2010-07-23 181 views
3

我已经创建了我的数据库的一个新的实体数据模型,并手动创建了POCO对象来映射到它,它似乎都工作正常。实体框架4映射到POCO

问题是我现在想重新命名我的POCO对象中的属性,使其与数据库中的字段名称不同,例如我想要UserID而不是user_id,当我这样做时显然EF不能再将实体映射到POCO对象。有什么办法可以做到这一点?也许通过装饰具有属性的属性来说明映射到他们的地图?

回答

3

您可以在实体设计器中更改它。 Enity数据模型(EDM)包含3个主要部分:

  • 概念模型。你想要保存哪些对象。
  • 存储模型。你有什么数据库结构。
  • 映射。如何将对象映射到数据库。

POCOs实际上是在您的概念模型中定义的。在模型设计器中打开Edmx文件。在那里找到用户实体并更改属性的名称。

+0

辉煌正是我一直在寻找的感谢 – Gavin 2010-07-23 10:24:15

+0

欢迎您:) – 2010-07-23 10:28:48

2

将POCO映射到现有数据库结构的另一种方法是使用EF CTP 4的Code First功能。Code First遵循特定约定将POCO映射到数据库表/列。这消除了维护.edmx或映射文件的需要,从而提高了工作效率。要像ala Fluent nhibernate那样定制映射,我相信EF CTP5将具有此功能。

这是您可能会用到的博客文章。

http://theminimalistdeveloper.com/2010/07/28/how-to-map-pocos-to-existing-databases-in-entity-framework-4-0-code-first-and-asp-net-mvc-2/