TypeLoadException: 在類型 'MySql.Data.EntityFrameworkCore.Query.Internal.MySQLSqlTranslatingExpressionVisitorFactory' 中找不到方法 'Create'
P粉502608799
P粉502608799 2023-10-22 20:34:52
0
1
577

我正在嘗試使用以下程式碼將新用戶新增到資料庫:

public async void SeedUsers(){
    int count=0;
    if(count>0){
        return;
    }
    else{
        string email="jujusafadinha@outlook.com.br";
        _context.Add(new User{LoginEmail=email});  
        await _context.SaveChangesAsync();  
    }
}

但它一直給我以下錯誤:

System.TypeLoadException:>組件“MySql.Data.EntityFrameworkCore”中的“MySql.Data.EntityFrameworkCore.Query.Internal.MySQLSqlTranslatedExpressionVisitorFactory”類型中的方法“創建”,版本=8.0.2.0,文化中的方法=性,>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 >選項,ServiceCollection 服務) 在 Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.c__DisplayClass4_0.b__2(Int64 k) 在 System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey key, Func2 valueFactory) 在 Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.GetOrAdd(IDbContextOptions 選項,>布爾providerRequired) 在 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(物件狀態) 在 System.Threading.QueueUserWorkItemCallback.<>c.<.cctor>b__6_0(QueueUserWorkItemCallback quwi) 在 System.Threading.ExecutionContext.RunForThreadPoolUnsafe[TState](ExecutionContext >executionContext,Action`1 回調,TState& 狀態) 在 System.Threading.QueueUserWorkItemCallback.Execute() 在 System.Threading.ThreadPoolWorkQueue.Dispatch() 在 System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

用戶類別:

public class User
    {
        public int Id{get;set;}
        public string LoginEmail{get;set;}
        public string UserName{get;set;}
        public DateTime CreatedAt{get;set;}
        public List<Contact> Contacts {get;set;}
        public List<ContactList> ContactLists{get;set;}
    }

EF Core 和 MySQL 軟體套件都已更新。另外,我嘗試使用預存過程,它給出了相同的結果。

Ex 的內容是:

Ex 的值為{System.TypeLoadException:組件“MySql.Data.EntityFrameworkCore”中類型“MySql.Data.EntityFrameworkCore.Query.Internal.MySQLSqlTranslatedExpressionVisitorFactory”中的方法“Create”,版本=8.0.222. =中性, 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.ConcurrentDictionary2.GetOrAdd(TKey key, Func2 valueFactory) 在 Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.GetOrAdd(IDbContextOptions 選項,布林providerRequired) 在 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.InternalDbSet1.Add(TEntity 實體) 在 D:devContatinApiDataSeedData.cs 中的 contatinApi.Data.SeedData.SeedUsers() 處:第 40 行}


P粉502608799
P粉502608799

全部回覆(1)
P粉578680675

如果您使用的是 Microsoft.EntityFrameworkCore 5.0,請將其降級到 Microsoft.EntityFrameworkCore 3.1.10 MySQL EF 8.0.22 目前與 Microsoft.EntityFrameworkCore 5.0 不相容

我有一個工作程式碼,直到我升級到 Microsoft.EntityFrameworkCore 5.0,然後我得到了相同的錯誤,降級並且它工作了!

希望在 MySQL Bug 論壇上發布 Bug 報告

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板