我这里有一个奇怪的问题。我正在尝试使用Entity Framework Core访问MySql数据库。
它适用于.NET控制台。但是当相同的代码在网络应用程序上运行时,它说。
fail: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[0]
An unhandled exception has occurred while executing the request
System.TypeLoadException: Method 'Clone' in type 'MySQL.Data.EntityFrameworkCore.Infraestructure.Internal.MySQLOptionsExtension' from assembly 'MySql.Data.EntityFrameworkCore, Version=8.0.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' does not have an implementation.
at Microsoft.EntityFrameworkCore.MySQLDbContextOptionsExtensions.UseMySQL[TContext]
at ConsoleApplication.EmployeesContextFactory.Create(String connectionString) in BooksController.cs:line 65
这是我的代码
var optionsBuilder = new DbContextOptionsBuilder<EmployeesContext>();
optionsBuilder.UseMySQL(connectionString);
var context = new EmployeesContext(optionsBuilder.Options);
context.Database.EnsureCreated();
它给了我方法UseMySql()
的例外。相同的确切代码在控制台中工作正常。
同样connectionString, .NET Core version
和我能想到的许多约束是相同的。
修改
控制台应用程序具有以下内容,
两个项目都将目标框架显示为2.0
解决此问题的正确方法是什么?
答案 0 :(得分:2)
由于当前的MySQL连接器仅支持.NET Core 1,因此您可能无法将其与v2一起使用 您可以在https://github.com/jasonsturges/mysql-dotnet-core
尝试此套餐