如何转换Entity Framework 6为我的模型生成FluentAPI定义,而不是数据注释? (我在VS2015上使用MySQL)

时间:2016-09-05 14:22:32

标签: c# mysql entity-framework-6 data-annotations ef-fluent-api

出于某些原因,我想使用FluentAPI来覆盖生成的字段定义的EF约定。默认情况下,EF6为所有生成的类创建数据注释。

是否有自动方式将这些注释转换为FluentAPI,或者让EF创建FluentAPI定义而不是使用数据注释?

1 个答案:

答案 0 :(得分:0)

我终于解决了这个问题。 (我使用EF6与MySQL 5.1.76和VS2015更新3)。

我安装了修改过的powertools VSIX,与VS2015一起运行:http://thedatafarm.com/data-access/installing-ef-power-tools-into-vs2015/(感谢@Steve)。但是,选择“逆向工程师代码优先”选项失败的原因如下:

  1. 在C:\ Windows \ Microsoft.NET \ Framework \ vx.x.xx \ config \ machine.config中找到的对MySQL版本的任何引用都需要与您的mySQL.Data.Entity.EF6版本相匹配项目参考。 (您的文本编辑器需要以管理员模式运行才能保存文件)。

  2. 错误: MySQL - Entity : The value for column 'IsPrimaryKey' in table 'TableDetails' is DBNull - 通过按照该帖子的接受答案解决了这个问题。

  3. 错误:Visual Studio 2015 Update 2 breaks EF reverse code engineer vsix - 通过将目标框架重置为4.5.1来解决此问题

  4. 现在我可以选择“逆向工程师代码优先”选项,它运行时没有错误,我的模型使用FluentAPI映射成功创建,就像我想要的那样。