为什么我在 localdb 上的 EF 测试适用于"run"而不是"debug"?



今天我发现我不再能够调试涉及EF Core的测试。每个这样的测试都使用LocalDB运行,并从调用调用以下代码的函数开始:

db.Database.EnsureDeleted();
db.Database.EnsureCreated();

在继续之前,这是我的连接字符串:@"Server=(localdb)MSSQLLocalDB;Integrated Security=true;Database=TESTING"

这样做的目的是为每次测试准备一个名为TESTING的新数据库。但现在,我得到以下错误:Cannot open database "TESTING" requested by the login. The login failed. Login failed for user 'xxyy'.

好吧。这给我带来了无法连接到(LocalDB)MSSQLLocalDB ->用户'user - pc user '登录失败,这是我在过去解决不同问题时实际提到的。但这一次,没有变化。

我尝试在Azure pipeline中推送我的代码并运行测试。它工作。我尝试在本地运行所有测试。它也奏效了。我试着用"run"来运行一个单独的测试。按钮,而不是使用"debug"按钮。令人费解的是,也起作用了。我回滚到以前版本的提交,我知道它在某一点上是正常的,行为和现在是一样的。

所以…有什么想法?似乎它与我的代码无关,可能是Visual Studio或LocalDB问题,但我不确定从哪里开始。

LocalDB 2019和Visual Studio 2022。

我最终修复了我的VS安装(我相信包括重新安装带有数据工作负载的LocalDB ?),现在一切似乎都工作正常。还是不知道发生了什么,但我很高兴它起作用了。

最新更新