逆向工程代码首先使用MySQL

时间:2016-12-03 17:02:24

标签: entity-framework

有人可以帮我解决这个问题吗?我想使用“逆向工程代码优先”与实体框架使用MySQL。我安装了odbc,连接器.net等但仍然无法看到这个...我在这个主题中做了所有事情(我有同样的问题):Can't use a MySQL connection for entity framework 6

但仍然无法工作:(。我记录了我所做的所有步骤..(Sry for english):https://youtu.be/xqEgCsu7_eU

1 个答案:

答案 0 :(得分:0)

我已经将其与MySql Connector 6.9.11配合使用。它是如此的困难和脆弱,我不确定这是否最终是一个好主意。至少有10件事可能会出错并占用数小时的时间。一旦开始工作,请务必不要更改任何内容。无论如何。这是我的一些笔记:

警告与MySQL服务器5.6.39或5.7.19一起使用。不要使用MySQL服务器版本5.7.21(由于反向工程失败),Aurora看起来还可以。

安装“ mysql-connector-net-6.9.11.msi”。较新的MySQL Connector 6.10似乎有问题?使用较旧的6.9.11。必须通过msi文件安装。拥有本地文件还不够。

安装“ mysql-for-visualstudio-1.2.8.msi”或“ mysql-for-visualstudio-1.2.7.msi”吗?注意:1.2.7永远不会正确卸载。 VS 2015似乎需要EF Poco才能使用“ MySQL for Visual Studio”,(专业版,企业版不同)

必须将“ Entity Framework Power tools Beta 4”作为Visual Studio 2013的插件安装。要在2015年17上安装它需要付出一些努力,但是可以做到。 https://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d

可能出问题的地方:

问题1: 您收到错误“处理模板'Entity.tt'时发生一个或多个错误。” 在VS重新启动后,这总是我第一次使用反向工程。 只需更改.NET组装版本即可解决问题。面向逆向工程师的目标.NET 4.5(不是4.5.1)。 将.net4.5用于EF。如果看到异常“ System.ArgumentException:空路径名不合法。”
记住改回4.5.2或更高。 面向.NET Framework 4.5.1的64位项目支持VS2015编辑并继续。 (或4.5.2)

问题2: System.ArgumentException:在配置中找不到指定的存储提供程序“ MySql.Data.MySqlClient”,或者“ MySql.Data.MySqlClient”无效。 这似乎是一个app / web.config问题。 ??? MySql.Data.MySqlClient在app.config中有多个条目?或bindingRedirect是错误的? 6.9.11版本可能始终是错误的版本吗? MySql.Data.MySqlClient ??在GAC中安装正确的版本6.9.11不仅是nuget吗? mysql-connector-net-6.9.11.msi

问题3: MySQL问题-“错误6003:表'TableDetails'中列'IsPrimaryKey'的值为DBNull。”指定的演员表无效。 [2016年1月1日15:27]“ Noman Khan。在MySQL DB上运行以下命令,然后尝试运行该命令。set globaloptimizer_switch ='derived_merge = off'”(针对要使用的用户,即root)

问题4: 内存不足执行。重新启动VisualStudio。

问题5: 如果“ MySQL”选项未显示在“更改数据源”列表框中。安装Visual Studio MySQL插件 Can't use a MySQL connection for entity framework 6

注意: 没有为VS2015或17构建EntityFrameworkPowerToolsBeta4。必须修改安装程序版本才能安装 How to use Entity Framework Power Tools in Visual Studio 2015? http://thedatafarm.com/data-access/installing-ef-power-tools-into-vs2015/

注意: 您可以在延迟执行查询之前通过在对象上调试/中断查看生成的SQL查询。 您可以使用别名映射到其他数据库 当心糟糕的多元化规则,例如“ Statu”到“ Status”

签出https://us.visualstudiogallery.msdn.microsoft.com/ee4fcff9-0c4c-4179-afd9-7a2fb90f5838/view/Discussions 这似乎更具可配置性,并且得到了更好的支持。但是仅适用于MSSQL吗?

相关问题