Rumah > Soal Jawab > teks badan
Saya cuba menambah pengguna baharu pada pangkalan data menggunakan kod berikut:
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(); } }
Tetapi ia terus memberi saya ralat berikut:
System.TypeLoadException: > Kaedah 'Buat' dalam jenis 'MySql.Data.EntityFrameworkCore.Query.Internal.MySQLSqlTranslatedExpressionVisitorFactory' dalam pemasangan 'MySql.Data.EntityFrameworkCore.Query.Internal.MySQLSqlTranslatedExpressionVisitorFactory' dalam pemasangan 'MySql.Data.EntityFrame. = c5687fc88969c44d ' Tidak dilaksanakan. di MySql.Data.EntityFrameworkCore.Extensions.MySQLServiceCollectionExtensions.AddEntityFrameworkMySQL(IServ>iceCollection service) di MySql.Data.EntityFrameworkCore.Infrastruct.Internal.MySQLOptionsExtension.ApplyServices(perkhidmatan IServiceColle>ction) di Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.ApplyServices(IDbContextOptions > Options, ServiceCollection Services) di Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.
c__DisplayClass4_0.b__2(Int64 k) dalam System.Collections.Concurrent.ConcurrentDictionary 2.GetOrAdd(TKey key, Func
2 valueFactory) di Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.GetOrAdd(Pilihan IDbContextOptions, >Pembekal BooleanDiperlukan) di Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider() di Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependency() di Microsoft.EntityFrameworkCore.DbContext.EntryWithoutDetectChanges[TEntity](Tentity entiti) di Microsoft.EntityFrameworkCore.DbContext.SetEntityState[TEntity](Tentity entiti, EntityState >entityState) di Microsoft.EntityFrameworkCore.DbContext.Add[TEntity](Tentity entiti) Dalam D:devcontatinapiDataSeedData.cs di contatinApi.Data.SeedData.SeedUsers(): baris 24 di System.Threading.Tasks.Task.<>c.b__139_1(ObjectState) di System.Threading.QueueUserWorkItemCallback.<>c.<.cctor>b__6_0(QueueUserWorkItemCallback quwi) di System.Threading.ExecutionContext.RunForThreadPoolUnsafe[TSate](ExecutionContext >executionContext, Action`1 callback, TState& state) dalam System.Threading.QueueUserWorkItemCallback.Execute() dalam System.Threading.ThreadPoolWorkQueue.Dispatch() Dalam System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
Kelas pengguna:
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;} }
Pakej EF Core dan MySQL telah dikemas kini. Juga, saya cuba menggunakan prosedur tersimpan dan ia memberikan hasil yang sama.
KandunganCth ialah:
Nilai Ex ialah {System.TypeLoadException: Kaedah "Create" dalam jenis "MySql.Data.EntityFrameworkCore.Query.Internal.MySQLSqlTranslatedExpressionVisitorFactory" dalam perhimpunan "MySql.Data.EntityFrameworkCore.2.80.PublicityFrameworkCore", version2.80.0 culture. =c5687fc88969c44d' tidak dilaksanakan. di MySql.Data.EntityFrameworkCore.Extensions.MySQLServiceCollectionExtensions.AddEntityFrameworkMySQL(IServiceCollection service) di MySql.Data.EntityFrameworkCore.Infrastruct.Internal.MySQLOptionsExtension.ApplyServices(perkhidmatan IServiceCollection) di Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.ApplyServices(pilihan IDbContextOptions, perkhidmatan ServiceCollection) di Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.<>c__DisplayClass4_0.g__BuildServiceProvider|3() di Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.<>c__DisplayClass4_0.b__2(Int64 k) dalam System.Collections.Concurrent.ConcurrentDictionary
2.GetOrAdd(TKey key, Func
2 valueFactory) di Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.GetOrAdd(pilihan IDbContextOptions, Boolean providerRequired) di Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider() di Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependency() di Microsoft.EntityFrameworkCore.DbContext.Microsoft.EntityFrameworkCore.Internal.IDbContextDependency.get_StateManager() di Microsoft.EntityFrameworkCore.Internal.InternalDbSet1.EntryWithoutDetectChanges(TEntity 实体) 在 Microsoft.EntityFrameworkCore.Internal.InternalDbSet
1.Add(Tentity entiti) Di contatinApi.Data.SeedData.SeedUsers() dalam D:devContatinApiDataSeedData.cs: baris 40}
P粉5786806752023-10-23 10:01:31
Jika anda menggunakan Microsoft.EntityFrameworkCore 5.0, sila turun tarafnya kepada Microsoft.EntityFrameworkCore 3.1.10 MySQL EF 8.0.22 pada masa ini tidak serasi dengan Microsoft.EntityFrameworkCore 5.0
Saya mempunyai kod berfungsi sehingga saya menaik taraf kepada Microsoft.EntityFrameworkCore 5.0, kemudian saya mendapat ralat yang sama, diturunkan taraf dan ia berfungsi!
Berharap untuk menyiarkan laporan pepijat di Forum Pepijat MySQL