0

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

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

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

4

1 回答 1

0

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

  • 他们可以映射属性——比如设置主键、最大长度、数据类型。
  • 他们还可以映射关系——设置诸如外键之类的东西,并定义不遵循标准 CF 命名约定的关系。

即使您不是从应用程序生成数据库,CF 也会使用此系统来确保它指向的数据库与您的模型兼容,并且在外键和事物设置相关属性的情况下。例如,如果您想将 FK 命名为 以外的其他名称,则NavigationPropertyId需要 fluent 告诉引擎要在数据库中设置什么属性。

于 2012-10-24T00:42:54.940 回答