Сегодня я обнаружил, что больше не могу отлаживать тесты с использованием 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 'xx\yy'.
Хорошо. Это привело меня к Не удается подключиться к (LocalDB)\MSSQLLocalDB -> Ошибка входа для пользователя "User-PC\User", на который я ссылался при решении другой проблемы в прошлом. Но в этот раз без изменений.
Я попытался отправить свой код и запустить тесты в Azure Pipelines. Это сработало. Я попытался локально запустить все тесты. Это также сработало. Я попытался запустить один отдельный тест, используя кнопку «Выполнить» вместо кнопки «Отладка» в Visual Studio. Удивительно, что еще и работал. я откатился на коммит для предыдущей версии, которая, как я знаю, работала в какой-то момент, и поведение такое же, как и сейчас.
Итак... есть идеи?? Похоже, это не связано с моим кодом и может быть проблемой Visual Studio или LocalDB, но я не уверен, с чего начать с любого из них.
Кстати, LocalDB 2019 и Visual Studio 2022.





В итоге я восстановил свою установку VS (которая, как я полагаю, включает переустановку LocalDB с рабочей нагрузкой данных?), и теперь все работает правильно. Все еще не уверен, что произошло, но я рад, что это работает.
Ваш ответ может быть улучшен с помощью дополнительной вспомогательной информации. Пожалуйста, редактировать добавьте дополнительную информацию, например цитаты или документацию, чтобы другие могли подтвердить правильность вашего ответа. Дополнительную информацию о том, как писать хорошие ответы, можно найти в справочном центре.