Запретить обновление файла MDF при подключении к более новой версии LocalDb - PullRequest
0 голосов
/ 13 марта 2020

У меня есть приложение WinForms, использующее EF6. Приложение использует LocalDb хранилище (2014), потому что мне нужно, чтобы оно работало с Windows 7 до Windows 10.

. Оно поставляется с файлом .mdf в папке приложения и подключается это через строку подключения.

Когда я присоединяю файл .mdf (созданный в SQL Server 2014 Express) к более новым версиям SQL Server Express, .mdf обновляется, и я не могу перенести его обратно на Windows 7 больше. Это мешает мне разрабатывать приложение на нескольких машинах, потому что я не могу сделать релизную копию приложения с этим .mdf, потому что оно больше не будет работать на Windows 7.

Единственный способ - использовать SQL Server 2014 Express на всех компьютерах разработчика.

Есть ли способ в строке подключения для предотвращения обновления или это необходимо для файла .mdf для работы на более новых версиях SQL Server Express?

Сейчас я думаю сделать программный файл .mdf при первом запуске приложения и выполнить скрипт для создания таблиц и начальных данных, а затем прикрепить этот файл. И мне не нужно думать, какая версия LocalDb используется на этой машине.

1 Ответ

0 голосов
/ 13 марта 2020

Нет - вы НЕ МОЖЕТЕ предотвратить или исключить обновление .mdf до текущей внутренней версии базы данных при подключении к более новому экземпляру сервера.

Вам необходимо либо используйте одну и ту же версию SQL Server (Express / LocalDB) на всех машинах, участвующих в разработке, или вам нужно обновить существующую структуру базы данных (и, возможно, stati c lookup data) с помощью SQL сценарии или миграция Entity Framework (или аналогичный, сопоставимый механизм, который не зависит от внутренних SQL версий базы данных сервера).

...