微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C# MySqlException:表不存在 - 数据库名称列出两次

如何解决C# MySqlException:表不存在 - 数据库名称列出两次

我在尝试从通过 C# 应用程序访问的 MysqL 数据库返回简单数据时遇到问题。

这是导致问题的代码以及它在 Visual Studio 中产生的错误

using (U04BWFEntities db = new U04BWFEntities())
{
    city theCity = new city();
    customer userQuery = db.customers.First();
    tBox_DebugDB.Text = userQuery.ToString();
}

错误如下:

System.Data.Entity.Core.EntityCommandExecutionException HResult=0x8013193C Message=执行命令定义时出错。有关详细信息,请参阅内部异常。 来源=实体框架

内部异常 1: MysqLException:表 'U04BWF.U04BWF.customer' 不存在

作为数据库名称的 U04BWF 部分在执行此查询时似乎出现了两次,因此错误是准确的 -- U04BWF.U04BWF.customer 不存在,但 U04BWF.customer 存在。

我真正的问题:我不知道为什么代码试图像这样运行查询。我无法追踪它决定在哪里针对 U04BWF.U04BWF.customer 运行查询,而不是应该 (U04BWF.customer)。

正如您从代码中看到的那样,我正在使用实体框架,据我所知,它正确地创建了实体,但我对 EF 非常陌生,当我看到一个问题时,可能根本不知道有什么问题。

我可以将连接切换到 ADO 并使用非 EF 方法成功执行查询

我主要是寻求有关如何追踪此问题的指导。提前致谢!

解决方法

这是 MySql.Data.EntityFramework 8.0.22 中的一个错误:bug 101236

作为一种解决方法,您可以降级到 8.0.21。 Oracle 声称它将在下一个版本 8.0.24 中修复。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。