C# 重置ASP.NET标识数据库
我有一个使用ASP.NET标识的ASP.NET MVC应用程序。我想添加一个重置数据库的功能。下面是Identity当前使用的数据库布局 我已经创建了一个控制器,其中包含重置数据库的代码C# 重置ASP.NET标识数据库,c#,asp.net,sql-server,asp.net-mvc,entity-framework,C#,Asp.net,Sql Server,Asp.net Mvc,Entity Framework,我有一个使用ASP.NET标识的ASP.NET MVC应用程序。我想添加一个重置数据库的功能。下面是Identity当前使用的数据库布局 我已经创建了一个控制器,其中包含重置数据库的代码 public ActionResult GenerateDatabase() { //Drop all tables //Readd all tables return RedirectToAction("Register", "Account"); } 但我对通过C#使用SQL S
public ActionResult GenerateDatabase()
{
//Drop all tables
//Readd all tables
return RedirectToAction("Register", "Account");
}
但我对通过C#使用SQL Server还是相当陌生的。如何通过C#控制器重置数据库(如拖放表并读取它们)?您可以通过
DbContext的数据库属性执行所有操作:
要删除数据库,只需使用:
yourDbContextInstance.Database.Delete();
yourDbContextInstance.Database.Create(); // Also check CreateIfNotExists()
要重新创建数据库,只需使用:
yourDbContextInstance.Database.Delete();
yourDbContextInstance.Database.Create(); // Also check CreateIfNotExists()
只需使用ADO.NETSQLCommand和正确的SQL查询即可删除数据库。然后,如果数据库不存在,您需要告诉DbContext重新创建数据库。您是否可以发布代码,按照现在的状态重新创建数据库?这是否会使用标识所需的所有表重新创建数据库,如图所示?是的。它将创建在DbContext中映射的所有表。上下文知道标识实体,然后它将创建它们。很遗憾,尽管它抛出此错误,但无法删除数据库“aspnet-VDNA-2016102811306”,因为它当前正在使用。请确保您没有在打开某些表或类似的情况下使用Sql Server Management Studio。