解决C# EF生成Mysql实体模型时的参数错误问题
问题描述及网上常规解决方案
利用EF 对数据库表生成C#实体模型及对应关系,能使数据库操作变得非常简单,从而显著减少开发人员的工作量。当数据库为Sqlserver或Oracle,大部分人都能很顺利完成实体模型及关系代码的生成,但若数据库为Mysql,在执行最后一步时,总会出现以下错误:
网上找到的解决方案不外乎以下三点:
- 删除 C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET files这个文件夹;
- 保存密码 修改“Persist Security Info” 为“True”;
- D:\Program Files\vs2012\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes 下 找到 EF.Utility.CS.ttinclude 文件,移除第一行 (<#@ CleanupBehavior Processor=“T4VSHost” CleanupAfterProcessingTemplate=“true” #>) 即可!
其中第二点确实为“参数错误”的一个常见原因,但对于Mysql来说,以上方案可能不足以解决这个问题。
解决方案
其实问题原因分为服务端和客户端两方面,下面说下这个问题的解决方法。
- Mysql数据库的版本和配置
这里不推荐