实体框架4映射到POCO

时间:2010-07-23 09:59:33

标签: c# entity-framework

我已经为我的数据库创建了一个新的实体数据模型,并手动创建了POCO对象,以便映射到它,并且它们似乎都能正常工作。

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

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分: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/