@moguzalp之後,這(MSDN Database.Delete Function),我帶着我的情況的解決方案:
using System.Data.Entity;
Database.Delete("connectionStringOrName");
在我來說,我試圖重新創建用於測試目的的mssqllocalDb數據庫。但是,無論何時我使用相同的DbContext(或者立即使用新的DbContext,處理第一個並打開另一個),看起來數據庫在我嘗試創建時仍處於運行狀態。
不好的例子:(X)
public static void RecreateDatabase(string schemaScript)
{
using (DbContext context = new DbContext("connectionStringName"))
{
context.Database.Delete(); // Delete returns true, but...
Database database = context.Database;
database.Create(); // Database already exists!
database.ExecuteSqlCommand(schemaScript);
}
}
工作實施例:(/)
public static void RecreateDatabase(string schemaScript)
{
Database.Delete(); // Opens and disposes its own connection
using (DbContext context = new DbContext("connectionStringName")) // New connection
{
Database database = context.Database;
database.Create(); // Works!
database.ExecuteSqlCommand(schemaScript);
}
}
上下文:我使用此上的[AssemblyInitialize]功能測試我ModelContexts
不,不變。 – 2014-12-10 14:55:09
嘗試使用'使用(var dbContext = new ApplicationDbContext())' – 2014-12-11 06:33:54
綁定它,但無濟於事。 DB仍然在那裏。 – 2014-12-11 15:18:28