EF6添加mysql的edmx实体时报错:无法生成模型:“System.Data.StrongTypingException: 表“TableDetails”中列“IsPrimaryKey”的值为 D

Posted 生圣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EF6添加mysql的edmx实体时报错:无法生成模型:“System.Data.StrongTypingException: 表“TableDetails”中列“IsPrimaryKey”的值为 D相关的知识,希望对你有一定的参考价值。

EF6.1.3 ,使用mysql5.7的实体数据模型时,提示:

由于出现以下异常,无法生成模型:“System.Data.StrongTypingException: 表“TableDetails”中列“IsPrimaryKey”的值为 DBNull

网上的解决办法都是:

 

1. 运行services.msc,重启MySQL服务.
2.MySQL运行一下命令:   use mydbname;   set global optimizer_switch=\'derived_merge=OFF\';
3. 重新生成 .edmx

此外,需要配置mysql服务为本地账号才可以

具体命令参考:https://stackoverflow.com/questions/33575109/mysql-entity-the-value-for-column-isprimarykey-in-table-tabledetails-is

 

还不行的话,

mysql命令中执行下面这段

use testdatabase;
set global optimizer_switch=\'derived_merge=off\';
set optimizer_switch=\'derived_merge=off\';

select @@optimizer_switch;
select @@GLOBAL.optimizer_switch;

 

关闭vs,重新打开vs再新建edmx即可

以上是关于EF6添加mysql的edmx实体时报错:无法生成模型:“System.Data.StrongTypingException: 表“TableDetails”中列“IsPrimaryKey”的值为 D的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2013 中带有 EF6 的 MySQL 连接器

将 EF 4 EDMX 升级到 EF 6

EF6:如何避免循环引用?

ADO.net实体数据库模型向导创建过程中,测试连接成功后,点击下一步,界面一闪而过,无法创建.edmx文件

首先是EF6 postgresql数据库,无法生成模型

vs2013, EF6.0.0.0 使用Migrations来更新数据库时报错