C# 从IdentityDbContext继承<;T>;减慢测试速度

C# 从IdentityDbContext继承<;T>;减慢测试速度,c#,entity-framework,asp.net-identity-2,C#,Entity Framework,Asp.net Identity 2,我使用了一个普通的dbcontext,然后我开始实现.net标识(Microsoft.AspNet.Identity.Core、Microsoft.AspNet.Identity.EntityFramework),并认为“哦,看,它基于dbcontext,我将把它附加到我现有的上下文中” 所以这个 public class SomeContext : DbContext { public SomeContext() : base("DefaultConnection"){ } } pu

我使用了一个普通的dbcontext,然后我开始实现.net标识(Microsoft.AspNet.Identity.Core、Microsoft.AspNet.Identity.EntityFramework),并认为“哦,看,它基于dbcontext,我将把它附加到我现有的上下文中”

所以这个

public class SomeContext : DbContext {
    public SomeContext() : base("DefaultConnection"){ }
}
public class SomeContext : IdentityDbContext<ApplicationUser> {
    public SomeContext() : base("DefaultConnection") {}
}
简单地转向这个

public class SomeContext : DbContext {
    public SomeContext() : base("DefaultConnection"){ }
}
public class SomeContext : IdentityDbContext<ApplicationUser> {
    public SomeContext() : base("DefaultConnection") {}
}
public类SomeContext:IdentityDbContext{
public SomeContext():base(“DefaultConnection”){}
}
一切都很好,网站运行完美,没有任何问题。。。但是测试时间从1秒到2分钟。如果我把它切换回去,它会直接返回到短期测试运行,所以我想我可能错过了一些东西,或者有一些我没有完全意识到的事情正在发生

有什么想法吗?

改变
publicsomecontext():base(“DefaultConnection”){}
publicsomecontext():base(“DefaultConnection”,false){}


此附加布尔值将使
IdentityDbContext
不检查标识表的连接。这将加快测试速度。

好吧,
IdentityDbContext
增加了复杂性,但很大程度上取决于您如何使用它。仅仅在不使用任何特定于身份的功能的情况下进行此更改不应该造成这样的差异。你有没有用剖析器查看它挂在哪里?这些测试是在内存中还是使用实际的数据库?我知道,是吗?最让我头疼的是什么?60次测试?所有的数据库集都在mem中,通过一个helper方法来剔除与此相同的集合,但它确实感觉到它在检查实际的数据库。是的,throwIfV1Schema标志是一个黑暗而混乱的代码路径。