gpt4 book ai didi

c# - 使用 Entity Framework 删除数据库

转载 作者:太空狗 更新时间:2023-10-30 01:35:09 25 4
gpt4 key购买 nike

我正在尝试使用 Entity Framework 从我的应用程序中删除数据库。我使用的代码如下:

using (var dbContext = container.Resolve<ApplicationDbContext>())
{
dbContext.Database.Delete();
}

根据 msdn这应该有效,但没有任何反应。

dbContext 是使用 ContainerControlledLifetimeManager 注册的,应该是用于创建数据库的同一个实例。

最佳答案

添加、更新和删除实体类型的实例需要 dbContext.SaveChanges() 来反射(reflect)变化。

但是 dbContext.Database.Delete() 不需要 dbContext.SaveChanges()

如果您打开例如从 Sql Management Studio 到您的数据库的连接并尝试 dbContext.Database.Delete() 那么您会收到 Cannot drop database "dbContext"because it is currently in使用。 如果您重新启动 sql server,您将删除这些连接,然后重试 dbContext.Database.Delete(),您将成功删除数据库。

最后一件事是在 Sql Management Studio 中刷新数据库列表,以查看该数据库是否不再存在。

使用此代码片段进行测试:

using (var dbContext = new dbContext())
{
dbContext.Database.Delete();
}

关于c# - 使用 Entity Framework 删除数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27314509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com