Ошибка при использовании UseInMemoryDatabase (xUnit)

Не могу разобраться почему возникает ошибка, при попытки подключить БД в памяти для тестов:

System.InvalidOperationException: No suitable constructor found for entity type 'JsonDocument'. The following constructors had parameters that could not be bound to properties of the entity type: cannot bind 'utf8Json', 'parsedData', 'extraRentedBytes', 'isDisposable' in 'JsonDocument(ReadOnlyMemory utf8Json, MetadataDb parsedData, byte[] extraRentedBytes, bool isDisposable)'.

Использую: .NET CORE 3.1. ЗАМЕЧУ, что при использовании сторонней БД - такой ошибки нет, все таблицы создаются корректно.

Дело в том, что ни одна модель для работы с БД не имеет свойства типа JsonDocument.

Возникает эта ошибка при создании БД, т.е. после удаления старой БД и добавления контекста новой:

public class MyAppFactory<TStartup> : WebApplicationFactory<TStartup> where TStartup : class
    {
        protected override void ConfigureWebHost(IWebHostBuilder builder)
        {
            builder.ConfigureServices(services =>
            {
                    var descriptor = services.SingleOrDefault(
                        d => d.ServiceType == typeof(DbContextOptions<MyDbContext>));
                
                    if (descriptor != null)
                        services.Remove(descriptor);
                
                    services.AddDbContext<MyDbContext>(options =>
                    {
                        options.UseInMemoryDatabase("InMemoryDbForTesting");
                    });
         
                    var sp = services.BuildServiceProvider();

                    using (var scope = sp.CreateScope())
                    {
                        var scopedServices = scope.ServiceProvider;
                        var db = scopedServices.GetRequiredService<MyDbContext>();

                        //ВОТ ЗДЕСЬ ОШИБКА
                        db.Database.EnsureCreated();
                    }
            });
        }
    }

В оригинальном же Startup.cs также добавляется AddIdentity, может проблема в этом? Как исправить?

  services.AddIdentity<User, IdentityRole>()
                .AddEntityFrameworkStores<MyDbContext>()
                .AddDefaultTokenProviders();

Ответы (0 шт):