2013-07-26 9 views
6

W mojej konfiguracji mam to:Nie można upuścić bazy danych, ponieważ jest obecnie w użyciu - EF Kod pierwszego

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

ten służy do badania db tej powinien spadku i ponownie za każdym razem. Chociaż po naciśnięciu "bazy danych aktualizacji" z konsoli menedżera pakietów, nawet jeśli baza danych zostanie ręcznie usunięta przed uruchomieniem, otrzymam:

Nie można usunąć bazy danych "Nogginator.Test", ponieważ jest ona obecnie używana.

Moje ciąg połączenia:

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

Dlaczego miałoby to być dzieje?

+0

Czy baza danych jest otwarta w systemie SSMS lub podobnym? – Pete

+0

@Pete Nie, SSMS jest otwarty, ale usunąłem/zamknąłem całe połączenie w docelowej bazie danych. Jeśli zamknę SSMS i spróbuję ponownie, otrzymam ten sam błąd – SB2055

Odpowiedz

9

Jeśli ostatnio debugowano aplikację internetową, upewnij się, że usługa IIS Express nie działa i że nie ma procesów w3wp.exe powiązanych z usługą IIS Express. Ten proces może nadal być związany z połączeniem z bazą danych.

+11

+ Upewnij się także, że połączenie jest zamknięte w Eksploratorze serwera (jeśli otworzyłeś tam połączenie) – robasta

+0

@rob Dobre połączenie również na tym! Trochę mnie to też zabiło jeszcze tego samego dnia. – fourpastmidnight