EnsureDatabase.For.SqlDatabase выдает исключение - PullRequest
0 голосов
/ 01 февраля 2019

Я использую DbUp для переноса своей базы данных SQL Server.Я реализовал это в консольном приложении, которое принимает строку подключения.Если я запускаю это в моей локальной базе данных SQL Server, это работает.Если я запускаю его для базы данных SQL Azure, он также работает.

Однако, если я запускаю его для базы данных LocalDb, которая была создана на лету в моих тестах, я получаю исключение.

Строка, в которой возникает исключение:

 EnsureDatabase.For.SqlDatabase(connectionString);

, а параметры строки подключения содержат:

 Data Source=(LocalDB)\MSSQLLocalDB;AttachDBFileName=C:\Projects\Prim\mgp\Prim.Mgp.Infrastructure.DataAccessTests\bin\Debug\netcoreapp2.2\Data\ccf243baa63eb4ea258b0155.mdf;Initial Catalog=ccf243baa63eb4ea258b0155;Integrated Security=True;MultipleActiveResultSets=True;

Исключение составляет:

Система.Data.SqlClient.SqlException: «База данных» C: \ Users \ ludwigs \ AppData \ Local \ Microsoft \ Microsoft SQL Server Локальная БД \ Instances \ MSSQLLocalDB \ master.mdf 'уже существует.Выберите другое имя базы данных.Невозможно прикрепить файл 'C: \ Projects \ Prim \ mgp \ Prim.Mgp.Infrastructure.DataAccessTests \ bin \ Debug \ netcoreapp2.2 \ Data \ ccf243baa63eb4ea258b0155.mdf в качестве базы данных' master '.'

... что немного странно, поскольку в нем упоминается база данных, отличная от указанной в строке подключения.

Кто-нибудь знает, что я могу делать неправильно?

PS: если я удаляю проблемную строку кода, я могу без проблем запросить свою базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...