entity-framework - System.InvalidOperationException:特定于关系的方法只能在上下文使用关系数据库提供程序时使用

标签 entity-framework unit-testing xunit in-memory-database

System.InvalidOperationException:
特定于关系的方法只能在上下文使用关系数据库提供程序时使用。

在将InMemoryDatabase用于测试用例时遇到上述错误?

var msaContextOptions = new DbContextOptionsBuilder<MSA.DAL.MsaDbContext>()
           .UseInMemoryDatabase(databaseName: "Get results")
           .ConfigureWarnings(w => w.Ignore(InMemoryEventId.TransactionIgnoredWarning))
           .Options;

最佳答案

正如其他人所提到的,我发现跳过DBMigration是目前的最佳选择。
当数据库提供者名称不是InMemory时,我正在运行数据库迁移。

if (context.Database.ProviderName != "Microsoft.EntityFrameworkCore.InMemory")
{
    context.Database.Migrate();
}

关于entity-framework - System.InvalidOperationException:特定于关系的方法只能在上下文使用关系数据库提供程序时使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50484444/

相关文章:

c# - EntityFramework 代码优先中的 DateTime 列未按预期工作

c# - 为 System.NotImplementedException/System.NotSupportedException 编写单元测试是一种好习惯吗

.net - 备用xUnit GUI运行器

angularjs - 如何在 Angular 单元测试(Mocha)中模拟 $location.path

java - 命名约定 JUnit 后缀或前缀 Test

c# - xUnit 中的基本断言

unit-testing - Matlab xUnit 框架测试套件设置

asp.net-mvc - 当前上下文中不存在名称 'EntityState'

c# - Entity Framework 代码优先迁移总是尝试创建新数据库

C# EF 5.0 向 MySQL 数据库添加百万条记录需要数小时