EF 4.x生成的实体类(POCO)和Map文件

时间:2012-10-23 22:59:23

标签: entity-framework-4

我正在使用MVC 4应用程序并使用代码优先实现,除了我有点欺骗并创建我的数据库然后使用EF电源工具(逆向工程师)从我的数据库生成我的实体类(poco) 。我想你可以说我做了数据库优先方法,但我没有edmx文件只是上下文类和我的实体类(poco)

我有一些项目在使用MVC和EF与pocos,但只有一个项目,我使用该工具从数据库生成我的pocos。

我的问题是关于使用该工具生成我的pocos时创建的映射文件。这些Map文件的目的是什么?我认为从模型生成数据库时需要使用地图文件,就像使用真正的代码优先方法一样,在我使用工具从数据库生成模型的情况下,地图文件对我的应用程序的使用方式有任何影响实体类?

1 个答案:

答案 0 :(得分:0)

映射文件是fluent files帮助Code First从您的模型生成数据库,以及帮助EF创建正确的关系。

  • 他们可以map properties - 例如设置主键,最大长度,数据类型。
  • 他们还可以map relationships - 设置外键之类的东西,并定义不遵循标准CF命名约定的关系。

即使您没有从应用程序生成数据库,CF也会使用此系统来确保它指向的数据库与您的模型兼容,并且在外键和设置相关属性的情况下。例如,如果你想命名除NavigationPropertyId以外的FK,你需要流畅地告诉引擎在数据库中设置什么属性。