繁体   English   中英

虫子? MVC5:EF6是否要删除LINQ查询上的数据库?

[英]Bug? MVC5: EF6 wants to delete database on LINQ query?

直到昨天,我已经有了一个包含种子测试数据的完美工作数据库。 然后我运行了很长时间的“更新程序包”。 它几乎更新了每个ASP软件包。

我删除了数据库并重新创建它,通过Seed方法完美地创建了测试数据。 到现在为止还挺好。

现在,当我尝试以任何方式访问数据库时,就像这样

public ActionResult Index()
    {
        return View(db.Games.ToList());
    }

我在db.Games.ToList()上收到此错误:

EntityFramework.dll中发生类型'System.Data.SqlClient.SqlException'的异常,但未在用户代码中处理

附加信息:无法删除数据库“ DataBaseName”,因为它正在使用中。

显然,“系统”没有理由要删除数据库。 那只是一个选择查询。 就像我说的,这发生在任何数据库查询上。

当然,我可以撤消整个“更新包”,但是实际上那不是我想要做的。

这是错误吗? 我错过了什么?

非常感谢你!

我发现了问题,那是EntityFramework软件包。 我从6.0.0升级到6.1.1并收到错误

EntityFramework.dll中发生类型'System.Data.SqlClient.SqlException'的异常,但未在用户代码中处理

附加信息:无法删除数据库“ DataBaseName”,因为它正在使用中。

当我从6.0.0升级到6.0.1时,这是一个较小的更新步骤,该错误更加具体(且不同)

EntityFramework.dll中发生类型'System.InvalidOperationException'的异常,但未在用户代码中处理

附加信息:因为为上下文启用了迁移,所以DropCreateDatabaseAlways初始化程序未删除或创建数据库支持上下文'ApplicationDbContext'。 使用迁移来为此上下文管理数据库,例如,通过从程序包管理器控制台中运行“ Update-Database”命令。

EF有一个问题,因为我使用了DropCreateDatabase初始化程序AND迁移。 从6.0.1版本开始,EF不再喜欢它了(我知道它毫无用处)。

但是我不明白为什么他们在以后的版本中改变了这个错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM