我正在使用MVC 4应用程序并使用代码优先实现,除了我有点欺骗并创建我的数据库然后使用EF电源工具(逆向工程师)从我的数据库生成我的实体类(poco) 。我想你可以说我做了数据库优先方法,但我没有edmx文件只是上下文类和我的实体类(poco)
我有一些项目在使用MVC和EF与pocos,但只有一个项目,我使用该工具从数据库生成我的pocos。
我的问题是关于使用该工具生成我的pocos时创建的映射文件。这些Map文件的目的是什么?我认为从模型生成数据库时需要使用地图文件,就像使用真正的代码优先方法一样,在我使用工具从数据库生成模型的情况下,地图文件对我的应用程序的使用方式有任何影响实体类?
答案 0 :(得分:0)
映射文件是fluent files帮助Code First从您的模型生成数据库,以及帮助EF创建正确的关系。
即使您没有从应用程序生成数据库,CF也会使用此系统来确保它指向的数据库与您的模型兼容,并且在外键和设置相关属性的情况下。例如,如果你想命名除NavigationPropertyId
以外的FK,你需要流畅地告诉引擎在数据库中设置什么属性。