ここでは奇妙な問題があります。 Entity Framework Coreを使用してMySqlデータベースにアクセスしようとしています。コンソールプロジェクトでは動作しますが、ASP.NETプロジェクトでは動作しません。MySql Connectorを使用したEFコア
これは.NETコンソールで動作します。同じコードがWebアプリで実行されている場合は、
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
はここでまったく同じコードがコンソールに正常に動作UseMySql()
それは私法上の例外を与える私のコード
var optionsBuilder = new DbContextOptionsBuilder<EmployeesContext>();
optionsBuilder.UseMySQL(connectionString);
var context = new EmployeesContext(optionsBuilder.Options);
context.Database.EnsureCreated();
です。
また、connectionString, .NET Core version
と私が考えることができる制約の多くは同じです。 ASP.NETプロジェクトは、コンソールアプリケーションは、次のを持っているNugets に
を以下しているの違いを見て
EDIT
、
どちらのプロジェクトは、それがターゲットフレームワークのショーとして2.0
この問題を解決する正しい方法は何ですか?
バージョンの違いと関係があると思います。 –
@ジョンケネディええ。 2.0で.Net Core 1.1ナゲットを使用することは可能ですか?それが可能であれば、それは問題を解決するでしょう。 –
いいえ、不可能です。使用しているパッケージにはv2.0が必要です。 –