Maison  >  Questions et réponses  >  le corps du texte

TypeLoadException : méthode « Create » introuvable dans le type « MySql.Data.EntityFrameworkCore.Query.Internal.MySQLSqlTranslatingExpressionVisitorFactory »

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粉502608799P粉502608799333 Il y a quelques jours490

répondre à tous(1)je répondrai

  • P粉578680675

    P粉5786806752023-10-23 10:01:31

    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

    répondre
    0
  • Annulerrépondre