Entity Framework 6 和 mysql TableDetails 强类型异常

Posted

技术标签:

【中文标题】Entity Framework 6 和 mysql TableDetails 强类型异常【英文标题】:Entity Framework 6 and mysql TableDetails Strong typing exception 【发布时间】:2015-11-21 15:27:10 【问题描述】:

我正在尝试使用 EF6 从 mysql 数据库模式生成模型类。我使用 ado.net 向导数据库第一种方法,我得到一个异常,上面写着:

生成模型时发生意外异常。 StrongTypingException:表中“IsPrimaryKey”列的值 TableDetails 是 DBNull。

【问题讨论】:

【参考方案1】:

在 MySQL 数据库上运行以下命令,然后尝试是否可行。

设置全局 optimizer_switch='derived_merge=off'

【讨论】:

【参考方案2】:

似乎 MySQL Entity Framework 提供程序无法在 Entity Framework 版本和 MySQL 版本的所有组合中正常工作。在尝试为 MySQL 5.7 和 Entity Framework 5 或 6 创建数据库优先模型时,我遇到了同样的错误(尝试了所有方法,例如添加和不添加 MySql.Data.Entity Nuget 包)。我唯一的成功是使用 MySQL 5.6 和 Entity Framework 5(没有事先添加 MySql.Data.Entity Nuget 包)。

另请参阅this 问题。

【讨论】:

以上是关于Entity Framework 6 和 mysql TableDetails 强类型异常的主要内容,如果未能解决你的问题,请参考以下文章

Entity Framework 6 异步操作和 TranscationScope

.Net Framework 4.5.2 和 Entity Framework 6 中的两种不同的数据库访问

Entity Framework 6 和 mysql TableDetails 强类型异常

在 Entity Framework 6 中使用 MySQL 和 MSSQL

Entity Framework 6 和 SQL Server CE,代码优先

如何将 MySQL 与 .NET Core 3 和 Entity Framework 6 集成