次のコードを使用してデータベースに新しいユーザーを追加しようとしています:
リーリーしかし、次のエラーが表示され続けます:
System.TypeLoadException: > アセンブリ 'MySql.Data.EntityFrameworkCore' の型 'MySql.Data.EntityFrameworkCore.Query.Internal.MySQLSqlTranslatedExpressionVisitorFactory' のメソッド 'Create'、バージョン = 8.0.22.0、culture=medium プロパティ、> ;PublicKeyToken=c5687fc88969c44d ' は実装されていません。 MySql.Data.EntityFrameworkCore.Extensions.MySQLServiceCollectionExtensions.AddEntityFrameworkMySQL(IServ>iceCollection サービス) MySql.Data.EntityFrameworkCore.Infrastruct.Internal.MySQLOptionsExtension.ApplyServices(IServiceColle>ction サービス) Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.ApplyServices(IDbContextOptions > Options, ServiceCollection Services) で Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.
内c__DisplayClass4_0.b__2(Int64 k) で System.Collections.Concurrent.ConcurrentDictionary 2.GetOrAdd(TKey key, Func
2 valueFactory) 内 Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.GetOrAdd(IDbContextOptions オプション、>ブールプロバイダー必須) Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider() で Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependency() で Microsoft.EntityFrameworkCore.DbContext.EntryWithoutDetectChanges[TEntity](TEntity エンティティ) で Microsoft.EntityFrameworkCore.DbContext.SetEntityState[TEntity](TEntity エンティティ、EntityState >entityState) で Microsoft.EntityFrameworkCore.DbContext.Add[TEntity](TEntity エンティティ) D:devcontatinapiDataSeedData.cs の contatinApi.Data.SeedData.SeedUsers(): 24 行目 System.Threading.Tasks.Task.<>c.b__139_1(ObjectState) System.Threading.QueueUserWorkItemCallback で。<>c.<.cctor>b__6_0(QueueUserWorkItemCallback quwi) System.Threading.ExecutionContext.RunForThreadPoolUnsafe[TState](ExecutionContext >executionContext, Action`1 コールバック, TState& state) で System.Threading.QueueUserWorkItemCallback.Execute() 内 System.Threading.ThreadPoolWorkQueue.Dispatch() 内 System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
ユーザークラス:
リーリーEF Core および MySQL パッケージが更新されました。また、ストアドプロシージャを使用してみましたが、同じ結果が得られました。
Ex の内容は次のとおりです:
Ex 値は {System.TypeLoadException: アセンブリ 'MySql.Data.EntityFrameworkCore' の型 'MySql.Data.EntityFrameworkCore.Query.Internal.MySQLSqlTranslatedExpressionVisitorFactory' のメソッド 'Create'、バージョン = 8.0.22.0、カルチャ = ニュートラル、 PublicKeyToken=c5687fc88969c44d' は実装されていません。 MySql.Data.EntityFrameworkCore.Extensions.MySQLServiceCollectionExtensions.AddEntityFrameworkMySQL(IServiceCollection サービス) で MySql.Data.EntityFrameworkCore.Infrastruct.Internal.MySQLOptionsExtension.ApplyServices(IServiceCollection サービス) で Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.ApplyServices(IDbContextOptions オプション、ServiceCollection サービス) で Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.<>c__DisplayClass4_0.g__BuildServiceProvider|3() Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache で。<>c__DisplayClass4_0.b__2(Int64 k) System.Collections.Concurrent.ConcurrentDictionary
2.GetOrAdd(TKey key, Func
2 valueFactory) 内 Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.GetOrAdd(IDbContextOptions オプション、ブールプロバイダー必須) で Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider() で Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependency() で Microsoft.EntityFrameworkCore.DbContext.Microsoft.EntityFrameworkCore.Internal.IDbContextDependency.get_StateManager() で Microsoft.EntityFrameworkCore.Internal.InternalDbSet1.EntryWithoutDetectChanges(TEntity エンティティ) で Microsoft.EntityFrameworkCore.Internal.InternalDbSet
1.Add(TEntity エンティティ) D:devContatinApiDataSeedData.cs の contatinApi.Data.SeedData.SeedUsers(): 行 40}
Microsoft.EntityFrameworkCore 5.0 を使用している場合は、Microsoft.EntityFrameworkCore 3.1.10 にダウングレードしてください。MySQL EF 8.0.22 は現在 Microsoft.EntityFrameworkCore 5.0 と互換性がありません。
Microsoft.EntityFrameworkCore 5.0 にアップグレードするまでは正常に動作するコードがありましたが、その後同じエラーが発生し、ダウングレードすると正常に動作しました。