平常都是用 sql server搞.net,心血来潮想用mysql试一试。
在生成实体数据模型的时候出现以下异常,无法生成模型:“System.Data.StrongTypingException: 表“TableDetails”中列“IsPrimaryKey”的值为 DBNull
解决办法:
1.运行services.msc,重启MySQL服务.
2.在MySQL运行一下命令:use mydbname;
set global optimizer_switch = 'derived_merge=OFF';mysql 参数optimizer_switch
3.重新生成.edmx
我直接实行第三步就可以了。当天建模正常,操作数据正常
当我以为可以为所欲为的时候,,,没错,第二天扑街了(可能我又建了一个SQL server的Model)。。。
问题:其他信息: Schema specified is not valid. Errors:
Models MysqlModel ssdl (2,2) : error 0152: No Entity Framework provider found for the ADO.NET provider with invariant name 'MySql Data MySqlClient'. Make sure the provider is registered in the 'entityFramework' section of the application config file. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information.
嗯。。。。开始我也不知道什么错误,哇!怎么Mysql这么多问题。。。
找了很多答案:这个类似VS2015 +EF6 连接MYSQL数据库生成实体我连MYSQL使用的还是EF5,更新到6会出错。所以我不能再加多一个SQL Server的实体模型了。(我猜就是因为这个EF的问题)
我就只是安装 Mysql.Data.Entity (使用nuget安装,达到版本同步)因为我其他要安装的都有了,毕竟前面说到本来可以操作数据了,加了一个SQL server的model才出鬼的。前前后后被这个鬼搞了一天,基本找到的方法都试过了。
然后我重建了一个项目重建了实体数据模型。嗯,又可以搞事情了
对你有帮助的话请留下你的小脚印