Blazor WASM не может использовать Entity Framework CoreC#

Место общения программистов C#
Ответить
Anonymous
 Blazor WASM не может использовать Entity Framework Core

Сообщение Anonymous »

Я пишу приложение Blazor WASM в .NET 8. Сегодня я пытался добавить выборку данных базы данных в свое приложение, но мне не удалось заставить Entity Framework Core работать. Я использую те же библиотеки, что и всегда.
У меня все написано, как всегда, но я просто не могу найти проблему. Когда я пытаюсь запустить приложение и получить данные из контекста в методе OnInitializedAsync, я получаю следующую ошибку в консоли:

Microsoft .AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
Компонент отрисовки необработанных исключений: тип MySql.Data.EntityFrameworkCore.Infrastructure.Internal.MySQLOptionsExtension+ExtensionInfo имеет недопустимый слот метода vtable 5 с метод none
System.TypeLoadException: Type MySql.Data.EntityFrameworkCore.Infrastructure.Internal.MySQLOptionsExtension+ExtensionInfo имеет недопустимый слот метода vtable 5 с методом none
в Microsoft.EntityFrameworkCore.DbContextOptions .GetHashCode()

в System.Collections.Concurrent.ConcurrentDictionary2[[Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptions, Microsoft.EntityFrameworkCore, Version=8.0.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60],[System.ValueTuple2[[System.IServiceProvider, System.ComponentModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a],[System.Collections.Generic.IDictionary2[[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.String, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].GetOrAdd[ValueTuple2](ключ IDbContextOptions, Func3 valueFactory, ValueTuple2 FactoryArgument)

в Microsoft.EntityFrameworkCore.Internal.ServiceProviderCache.GetOrAdd(параметры IDbContextOptions, логический поставщикRequired)

в Microsoft.EntityFrameworkCore.DbContext.get_ContextServices()
в Microsoft.EntityFrameworkCore.DbContext.get_Model()

в Microsoft.EntityFrameworkCore.Internal.InternalDbSet1[[MyProject.Components.Models.Player, MyProject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].get_EntityType() at Microsoft.EntityFrameworkCore.Internal.InternalDbSet1[[MyProject.Components.Models.Player, MyProject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].CheckState()

в Microsoft.EntityFrameworkCore.Internal .InternalDbSet1[[MyProject.Components.Models.Player, MyProject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].get_EntityQueryable() at Microsoft.EntityFrameworkCore.Internal.InternalDbSet1[[MyProject.Components.Models.Player, MyProject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].System.Collections.Generic.IEnumerable.GetEnumerator()
at System .Коллекции.Общий.Список1[[MyProject.Components.Models.Player, MyProject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]..ctor(IEnumerable1 коллекция)
в System.Linq.Enumerable.ToList[Player](источник IEnumerable`1)
в MyProject.Pages.Home.OnInitializedAsync() в C:\Users\FilipMráz\ source\repos\MyProject\MyProject\Pages\Home.razor:строка 112
в Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()

Это код:
protected override async Task OnInitializedAsync()
{
var a = context.CreateDbContext().Players.ToList();

foreach (var item in a)
{
Console.WriteLine(item.Id);
}
}

Это мой DbContext и объект DbSet:
public class CustomDbContext : DbContext
{
public DbSet Players { get; set; }
public DbSet Tournaments { get; set; }

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseMySQL("myConString");
}
}

[Table("Players")]
public class Player
{
public int Id { get; set; }
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... ework-core
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»