У меня есть следующее проектное решение:
Есть ASP.NET MVC Web
Приложение, где у меня есть SQL
база данных (файл mdf) в каталоге App_Data.
Есть библиотека классов, где я
есть некоторые миграции из
migratordotnet . В моем файле сборки я
должны указать, где SQL
база данных, чтобы он мог запустить
Миграции.
На данный момент в проекте миграции я использую жестко закодированный путь для доступа к базе данных SQL в строке подключения. Это выглядит примерно так:
connectionString="Data Source=.\SQLExpress; Integrated Security=true; AttachDbFilename=C:\MySolution\MyMVCProject\App_Data\MyDatabase.mdf"
Это не то, что я хочу сделать. Я также не могу использовать относительные пути (например, ..\MyMVCPProject\AppData\MyDatabase.mdf
, потому что классы SQL, используемые в migratordotnet, не смогут правильно его перевести). Но я хочу использовать какой-то замещающий путь к нему, вроде того, что вы найдете с |DataDirectory|
в Web.Config
в веб-проекте, например:
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\MyDatabase.mdf;Integrated Security=True;User Instance=True"
Как мне этого добиться? Я не могу использовать эту строку подключения в проекте миграции. Потому что |DataDirectory|
перейдет в путь установки .NET Framework и найдет там файл базы данных.