TypeLoadException : méthode « Create » introuvable dans le type « MySql.Data.EntityFrameworkCore.Query.Internal.MySQLSqlTranslatingExpressionVisitorFactory »
P粉502608799
P粉502608799 2023-10-22 20:34:52
0
1
489

J'essaie d'ajouter un nouvel utilisateur à la base de données en utilisant le code suivant :

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();  
    }
}

Mais cela continue de me donner l'erreur suivante :

System.TypeLoadException : > Méthode 'Create' dans le type 'MySql.Data.EntityFrameworkCore.Query.Internal.MySQLSqlTranslatedExpressionVisitorFactory' dans l'assembly 'MySql.Data.EntityFrameworkCore', version=8.0.22.0, culture=neutral, >PublicKeyToken= c5687fc88969c44d ' Non implémenté. sur MySql.Data.EntityFrameworkCore.Extensions.MySQLServiceCollectionExtensions.AddEntityFrameworkMySQL (IServ>iceCollection service) sur MySql.Data.EntityFrameworkCore.Infrastruct.Internal.MySQLOptionsExtension.ApplyServices (IServiceColle>ction service) sur Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.ApplyServices (IDbContextOptions > Options, ServiceCollection Services) sur Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.c__DisplayClass4_0.b__2(Int64 ko) dans System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey key, Func2 valueFactory) sur Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.GetOrAdd (options IDbContextOptions, >Boolean supplierRequired) sur Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider() sur Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependency() sur Microsoft.EntityFrameworkCore.DbContext.EntryWithoutDetectChanges[TEntity](entité TEntity) sur Microsoft.EntityFrameworkCore.DbContext.SetEntityState[TEntity](entité TEntity, EntityState >entityState) sur Microsoft.EntityFrameworkCore.DbContext.Add[TEntity](entité TEntity) Dans D:devcontatinapiDataSeedData.cs à contatinApi.Data.SeedData.SeedUsers() : ligne 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, rappel Action`1, TState& state) dans System.Threading.QueueUserWorkItemCallback.Execute() dans System.Threading.ThreadPoolWorkQueue.Dispatch() Dans System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

Classe d'utilisateur :

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;}
    }

Les packages EF Core et MySQL ont été mis à jour. De plus, j'ai essayé d'utiliser une procédure stockée et cela a donné le même résultat.

Le contenu de

Ex est :

La valeur Ex est {System.TypeLoadException : méthode "Create" dans le type "MySql.Data.EntityFrameworkCore.Query.Internal.MySQLSqlTranslatedExpressionVisitorFactory" dans l'assembly "MySql.Data.EntityFrameworkCore", version=8.0.22.0, culture=medium Properties, PublicKeyToken =c5687fc88969c44d' n'est pas implémenté. sur MySql.Data.EntityFrameworkCore.Extensions.MySQLServiceCollectionExtensions.AddEntityFrameworkMySQL (service IServiceCollection) sur MySql.Data.EntityFrameworkCore.Infrastruct.Internal.MySQLOptionsExtension.ApplyServices (service IServiceCollection) sur Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.ApplyServices (options IDbContextOptions, service ServiceCollection) sur Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.<>c__DisplayClass4_0.g__BuildServiceProvider|3() sur Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.<>c__DisplayClass4_0.b__2(Int64 ko) dans System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey key, Func2 valueFactory) sur Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.GetOrAdd (options IDbContextOptions, fournisseur booléen requis) sur Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider() sur Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependency() sur Microsoft.EntityFrameworkCore.DbContext.Microsoft.EntityFrameworkCore.Internal.IDbContextDependency.get_StateManager() sur Microsoft.EntityFrameworkCore.Internal.InternalDbSet1.EntryWithoutDetectChanges(TEntity 实体) 在 Microsoft.EntityFrameworkCore.Internal.InternalDbSet1.Add (entité TEntity) Sur contatinApi.Data.SeedData.SeedUsers() dans D:devContatinApiDataSeedData.cs : ligne 40}


P粉502608799
P粉502608799

répondre à tous(1)
P粉578680675

Si vous utilisez Microsoft.EntityFrameworkCore 5.0, veuillez le rétrograder vers Microsoft.EntityFrameworkCore 3.1.10 MySQL EF 8.0.22 n'est actuellement pas compatible avec Microsoft.EntityFrameworkCore 5.0

J'avais un code fonctionnel jusqu'à ce que je passe à Microsoft.EntityFrameworkCore 5.0, puis j'ai eu la même erreur, j'ai été rétrogradé et cela a fonctionné !

J'espère publier un rapport de bug sur le forum de bugs MySQL

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!