遇到问题
core的版本从1.0升级到1.1,操作mysql数据库,查询数据时遇到MissingMethodException问题,更新、插入操作没有问题。
如果你也遇到这个问题,请参照以下步骤进行升级操作。
操作步骤及内容
- 如果你的项目已经引用过以下几部分内容,请依次升级内容:
PM> Update-Package Microsoft.EntityFrameworkCore PM> Update-Package Microsoft.EntityFrameworkCore.SqlServer PM> Update-Package Microsoft.EntityFrameworkCore.Relational PM> Update-Package Microsoft.EntityFrameworkCore.Tools -Pre
- 如果你还没有安装过,请使用安装语句
PM> Install-Package Microsoft.EntityFrameworkCore PM> Install-Package Microsoft.EntityFrameworkCore.SqlServer PM> Install-Package Microsoft.EntityFrameworkCore.Relational PM> Install-Package Microsoft.EntityFrameworkCore.Tools -Pre
- 安装完成后,如果你引用的mysql扩展是以下这个版本(或者小于该版本。)依然会无法完成查询操作。
"MySql.Data.EntityFrameworkCore": "7.0.6-IR31"
- 移除该引用,并使用NUGET安装SapientGuardian.EntityFrameworkCore.MySql
PM> Install-Package SapientGuardian.EntityFrameworkCore.MySql
- 如果你使用的IDE是vs Code,在project.json中增加下边的依赖
"SapientGuardian.EntityFrameworkCore.MySql": "7.1.14"
- 然后在CLI 中 执行 dotnet restore
- 接着你需要在startup.cs 添加引用内容。
using MySQL.Data.Entity.Extensions;
好了,其他代码没有什么改变。再试一下你会发现,你的系统可以正常工作了。
参考文档
1、Announcing Entity Framework Core 1.1 Rowan Miller
时间: 2024-11-05 02:42:26