使用 Devart.MySql 将 EF6 升级到 EF Core 3
Posted
技术标签:
【中文标题】使用 Devart.MySql 将 EF6 升级到 EF Core 3【英文标题】:Upgrading EF6 to EF Core 3 with Devart.MySql 【发布时间】:2021-11-30 00:01:44 【问题描述】:我一直在尝试将我们的实体框架从 EF6 升级到 EF Core 3.1,但出现了这个奇怪的错误。
以下是我执行的步骤或一些可能有帮助的信息
当前 .NET 框架版本为 4.7.2 使用 EF Core 6 使用 mysql 将 EF Core 升级到 EF Core 3.1(为什么是 3.1?我们还不能升级类库版本,因为它有很多依赖项,而且 3.1 是与 .NET 4.7.2 的最新兼容版本) 我正在使用 Devart dotConnect for MySql 作为提供程序。还升级到了 8.19 版(目前为最新版本) 修复了所有构建错误并创建了模型构建器来定义和映射表属性和列。完成所有这些步骤后,项目构建没有错误并且项目运行。但是,当我尝试登录(显然是进行数据库调用)时,它会停止。如果我在实际的 linq 查询上放置一个断点,它就会停止。它什么也不做。没有超时错误,没有异常,什么都没有。我还尝试检查数据库服务器日志,查询没有记录,所以查询肯定没有通过服务器。我还试图故意在连接字符串上放一个错误的数据库名称,它抛出了一个错误,数据库不存在。
有人有同样的经历吗?
【问题讨论】:
【参考方案1】:启用 dbMonitor 工具以检查连接是否打开以及 SQL 查询是否发送到 MySQL 服务器:https://www.devart.com/dotconnect/mysql/docs/?dbmonitor.html。有什么错误吗?
在调试您的项目之前,在您的 Visual Studio 中进行这些设置以获得异常和详细的堆栈跟踪:
如果这无助于解决问题,请通过our contact form 提交请求以获得支持。
【讨论】:
以上是关于使用 Devart.MySql 将 EF6 升级到 EF Core 3的主要内容,如果未能解决你的问题,请参考以下文章
MVC5+EF6 完整教程17--升级到EFCore2.0(转)
如何将 Database First Entity Framework 4 升级到 6