Проблема с «Копировать, если новее» заключается в том, что при внесении изменений в любую часть структуры базы данных это изменение относится к версии в каталоге вашего проекта, а не к версии, на которой вы строите в каталоге отладки. .
Кроме того, при попытке запуска без отладки вы не используете копию, которую вы обрабатывали в папке отладки.
Обычно я использую Postgresql, но так как это новый компьютер, и я обнаружил, что MS делает эту версию Lite, решил попробовать. У меня есть много данных, которые являются историческими, которые я хочу получить в таблице, затем некоторые ручные манипуляции с небольшим количеством SQL. Затем я могу продолжить создание реальной функциональности базы данных.
Вы не можете просто скопировать измененную версию в каталог проекта, потому что есть файл журнала, и никто, кажется, не знает, что там, но Microsoft отчаянно нуждается в этом, чтобы каким-то образом соответствовать файлу вашей базы данных. (Полагаю, вы тоже это уже попробовали).
Я не хотел начинать с нуля каждый раз, когда запускал его, и, как и вы, я не нашел решений. Поэтому в отчаянном движении я скопировал версию в Debug в каталог tmp. Затем удалил версию в обозревателе решений проекта.
Затем я перетащил версию из tmp в обозреватель решений. (Все в нем структурно совпадает с оригиналом, за исключением того, что указано ниже)
Это сделало это, он воссоздал этот файл журнала. Теперь мои сеансы отладки начинаются с готовых загруженных данных.
Слова предупреждения.
1) Изменение структуры базы данных.
В вашем обозревателе решений, файл Linq to SQL DBML, если вы изменили какую-то структурную часть базы данных в коде (где я обычно это делаю), щелкните правой кнопкой мыши файл DBML и перейдите в представление конструктора. Затем перетащите в дизайн любые новые таблицы или представления, которые вы добавили.
2) Поскольку необходимость удалять и перетаскивать базу данных кажется немного изворотливой, напишите себе функцию, которая работает в Form_Open в режиме отладки, которая копирует файл базы данных, например
\ MyDatabaseBackup \ myDatabase_date_time.mdb
Помните, что если вы в любой момент вернетесь к предыдущей версии, вам нужно переименовать ее в myDatabase.mdb