mem*_*eam 5 c# database entity-framework
我正在尝试使用实体框架从我的应用程序中删除数据库。我使用的代码如下:
using (var dbContext = container.Resolve<ApplicationDbContext>())
{
dbContext.Database.Delete();
}
Run Code Online (Sandbox Code Playgroud)
根据msdn,这应该有效,但没有任何反应。
dbContext 是使用注册的,ContainerControlledLifetimeManager
并且应该是用于创建 DB 的相同实例。
添加、更新和删除实体类型的实例需要 dbContext.SaveChanges()
反映更改。
不过 dbContext.Database.Delete()
不需要dbContext.SaveChanges()
。
如果您打开例如从 Sql Management Studio 到数据库的连接,然后尝试然后dbContext.Database.Delete()
收到“Cannot drop database "dbContext" because it is currently in use.
如果重新启动 sql 服务器,则删除这些连接,然后重试dbContext.Database.Delete()
成功删除数据库”。
最后一件事是 刷新 Sql Management Studio 中的数据库列表,以查看该数据库不再存在。
使用此代码片段进行测试:
using (var dbContext = new dbContext())
{
dbContext.Database.Delete();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9872 次 |
最近记录: |