Я пытался следовать нескольким различным учебникам с EFCore и ядром. net, и я был полностью заблокирован в момент, когда я пытаюсь создать локальную базу данных.
Я использовал и инструменты powershell, и инструменты командной строки, чтобы попытаться создать начальную миграцию (или сделать что-нибудь, на самом деле).
Я постоянно получаю сообщение об ошибке:
System.InvalidOperationException: An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding 'EnableRetryOnFailure()' to the 'UseSqlServer' call.
---> Microsoft.Data.SqlClient.SqlException (0x80131904): A connection was successfully established with the server, but then an error occurred during the login process. (provider: Named Pipes Provider, error: 0 - No process is on the other end of the pipe.)
База данных в настоящее время не существует в системе, хотя локальный SQL сервер, похоже, работает и работает.
Вот код c# для добавления контекста:
services.AddDbContextPool<TestDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("TestDb")
)
);
Это код строки подключения: "TestDb": "Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=TestDb"
Я получаю похожие ошибки, независимо от того, запускаю ли я add-migration
, dotnet ef migration add
или dotnet ef dbcontext info
. (примечание: при вызовах do tnet я использую -s .. \ {webproject} \ {webproject} .csproj
Я также испортил строку подключения, добавив различные комбинации Trusted_Connection=True;
MultipleActiveResultSets=True;
и Integrated Security=true
.
Я вошел в SSMS и убедился, что для аутентификации сервера установлен режим SQL Server и Windows Authentication, а для параметра Maximum Connections установлено значение 0 (не ограничено) Я также зашел в систему и попытался добавить пользователя практически ко всем ролям сервера.
Так что, да, я немного растерялся. Я работал с EF годами, хотя это мое Первый опыт работы с EFCore, и я определенно больше разработчик, чем администратор SQL. Это также мой первый раз, когда я пытаюсь использовать локальную базу данных на этом конкретном компьютере.
Редактировать: Просмотр error.log в AppData \ Local \ Microsoft \ Microsoft SQL Server Local DB \ Instances \ mssqllocaldb я вижу эту ошибку:
2020-01-28 10:15:03.50 Logon Error: 18456, Severity: 14, State: 38.
2020-01-28 10:15:03.50 Logon Login failed for user 'LAPTOP-NC6HQ4TB\ripli'. Reason: Failed to open the explicitly specified database 'TestDb'. [CLIENT: <named pipe>]
, что сбивает с толку. Конечно, я не могу открыть указанную базу данных. Весь смысл это я хочу создать БД, которая еще не существует.