设置:使用Entity Framework Code First创建新数据库。
场景:我正在使用EF进行测试,向我的数据库添加了大量元素。然后我更改实体模型,虽然我知道可以使用迁移,但我只想从头开始,基本上清空数据库。
默认使用的数据库是(localdb)\ v11.0。
我的问题是:
我能否直接删除某个文件或启动某种管理器来删除该数据库并从头开始?
设置:使用Entity Framework Code First创建新数据库。
场景:我正在使用EF进行测试,向我的数据库添加了大量元素。然后我更改实体模型,虽然我知道可以使用迁移,但我只想从头开始,基本上清空数据库。
默认使用的数据库是(localdb)\ v11.0。
我的问题是:
我能否直接删除某个文件或启动某种管理器来删除该数据库并从头开始?
只需以管理员权限打开命令提示符并键入:
//list the instancies
sqllocaldb i
//stop selected instance
sqllocaldb p "selected instance"
//delete
sqllocaldb d "selected instance"
//recreate or create new one
sqllocaldb c "new instance"
从Visual Studio => 点击View => SQL Server Object Explorer=> 右键单击所需的数据库并选择删除,它将被删除或者您可以按照需求进行操作。
如果你正在使用Entity Framework Core,你可以在包管理器控制台中输入以下内容:
PM> Drop-Database
它将删除当前数据库。这个命令会告诉你哪一个:
PM> Get-DbContext
这也很方便:
PM> Get-Help about_EntityFrameworkCore
除了包管理器控制台,您还可以通过PowerShell或命令提示符使用dotnet CLI:
PS> dotnet ef database drop
请确保在运行此命令之前先安装EF扩展:
dotnet tool install --global dotnet-ef
我认为你想删除单个数据库,而不是LocalDB实例。如果是这样的话,只需要发出"drop database"命令即可:
DROP DATABASE databasename;
您可以通过sqlcmd
、Management Studio、应用程序代码,甚至是Visual Studio进行此操作...
有一个名为SqlLocalDB.exe的可执行文件,可以在C:\Program Files\Microsoft SQL Server\{version}\Tools\Binn中找到。
要完全删除:
>sqllocaldb stop InstanceName
>sqllocaldb delete InstanceName
完成操作后,您可以选择从硬盘中删除 .mdf 文件。
我的文件位于:C:\Users\{username}
您还可以创建一个新的实例,之后重新附加您仍然需要的 .mdf 文件。
>sqllocaldb create InstanceName
>sqllocaldb start InstanceName
>sqllocaldb info InstanceName
C:\Users\{username}\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances
dotnet ef database drop --project [path to project]
如果您有多个数据库上下文:
dotnet ef database drop --project [path to project] --context [ContextName]
请确保先安装EF扩展,通过运行此命令来完成:
dotnet tool install --global dotnet-ef
-U 用户名
-P 密码
参数添加你的凭据。@echo off
set /p DbName=Enter local db name:
echo.
sqlcmd -e -S "(LocalDb)\MSSQLLocalDB" -d "master" -Q "EXEC msdb.dbo.sp_delete_database_backuphistory @database_name = N'%DbName%'; USE [master]; DROP DATABASE [%DbName%];"
echo Finished!
pause > nul
实体框架 3.1:
删除数据库
dotnet ef database drop
dotnet ef database update 0