在我的配置中,我有这个:
public sealed class Configuration : DbMigrationsConfiguration<App.Repository.NogginatorDbContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
}
protected override void Seed(AppDbContext context)
{
SqlConnection.ClearAllPools();
//context.Database.CreateIfNotExists();
System.Data.Entity.Database.SetInitializer(new DropCreateDatabaseAlways<AppDbContext>());
if (!WebMatrix.WebData.WebSecurity.Initialized)
{
WebSecurity.InitializeDatabaseConnection("TestConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);
}
}
}
这用于应删除并每次都重新创建的测试数据库。虽然当我从包管理器控制台点击“update-database”时,即使在运行之前手动删除数据库,我也会得到:
无法删除数据库“Nogginator.Test”,因为它当前正在使用中。
我的连接字符串:
<add name="TestConnection"
providerName="System.Data.SqlClient"
connectionString="Data Source=.\;Initial Catalog=App.Test;Trusted_Connection=True;MultipleActiveResultSets=True;" />
为什么会这样?
答案 0 :(得分:9)
如果您最近正在调试Web应用程序,请确保IIS Express仍未运行,并且没有与IIS Express关联的w3wp.exe进程。此过程可能仍然持有数据库连接。