我有一个非常简单的解决方案:
MySolution.Data - >它包含我真实的dbcontext MySolution.Migrations - >它包含从我的dbcontext继承的上下文 MySolution.Data.Test - >简单测试创建我的dbcontext并调用CompatibleWithModel
这是MySolution.Data上下文
public class AppContext : IdentityDbContext
{
// Some DbSets
}
以下是MySolution.Migrations上下文(此项目还包含所有迁移和配置文件)
public class MigrationContext : AppContext
{
}
这是MySolution.Data.Test失败测试
public class DbContextTests
{
[Fact]
public void CheckDbContextAgainstDatabase()
{
var context = new AppContext();
context.Database.CompatibleWithModel(true);
}
}
工作测试:
public class DbContextTests
{
[Fact]
public void CheckDbContextAgainstDatabase()
{
var context = new MigrationContext();
context.Database.CompatibleWithModel(true);
}
}
为什么使用AppContext测试失败并在使用MigrationContext时起作用?
如何让此测试在另一个程序集中使用迁移和DbMigrationConfiguration?