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

How can I convert Entity Framework 6 to generate FluentAPI definitions for my model, instead of data annotations? (I am using MySQL with VS2015)

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

创建数据注释

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

我终于解决了这个问题并开始工作。 (我在 MySQL 5.1.76 和 VS2015 更新 3 中使用 EF6)。

我按照以下步骤将修改后的 powertools VSIX 安装到 运行 和 VS2015:http://thedatafarm.com/data-access/installing-ef-power-tools-into-vs2015/(感谢@Steve)。但是,select将选项设置为 'Reverse Engineer Code First' 失败,原因如下:

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

  2. 错误: - 按照已接受的 post 答案解决了这个问题。

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

  4. 解决了这个问题

现在我可以 select 'Reverse Engineer Code First' 选项并且它 运行 没有错误,并且我的模型已按照我的需要使用 FluentAPI 映射成功创建。