6

在我的配置中,我有这个:

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);
        }
     }
 }

这用于每次都应删除并重新创建的测试数据库。虽然当我从包管理器控制台中点击“更新数据库”时,即使在运行之前手动删除了数据库,我也会得到:

无法删除数据库“Nogginator.Test”,因为它当前正在使用中。

我的连接字符串:

<add name="TestConnection" 
     providerName="System.Data.SqlClient" 
     connectionString="Data Source=.\;Initial Catalog=App.Test;Trusted_Connection=True;MultipleActiveResultSets=True;" />

为什么会发生这种情况?

4

1 回答 1

9

如果您最近正在调试 Web 应用程序,请确保 IIS Express 未仍在运行,并且没有与 IIS Express 关联的 w3wp.exe 进程。此过程可能仍在保持数据库连接。

于 2013-07-26T16:20:44.957 回答