База данных Visual Studio SQL Server «копировать, если новее» по-прежнему заменяет базу данных каждый раз

#c# #sql-server #database #visual-studio-2019

#c# #sql-server #База данных #visual-studio-2019

Вопрос:

Я довольно новичок в C # и SQL Server, и я работаю над примером для школы, используя простые базы данных в Visual Studio 2019. Я подключился к внешнему .MDF файлу базы данных, предоставленному для проекта, и он скопирован в мою папку проекта (я решил поместить копию базы данных в папку проекта).

После запуска моего приложения я вношу некоторые изменения в данные и сохраняю. Затем при повторном запуске приложения данные являются исходными данными без моих предыдущих изменений. Я подтвердил, что сохранение в приложении работает, поскольку обновляется временная метка в .mdf файле в папке debug. Однако при повторном запуске .mdf файл в папке проекта снова копируется в папку debug.

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

Есть предложения? Для справки, пример взят из «Начало работы с Visual C #» 5-е издание Тони Гэддиса, глава 12, учебное пособие 12-3. В руководстве не упоминается свойство «копировать в выходной каталог», и я не нахожу решения на других форумах.

Комментарии:

1. Почему бы не использовать базу данных в папке проекта вместо папки отладки. И не копировать базу данных в папку debug?

2. @OrlandoHelmer Есть ли способ остановить ее копирование в папку debug и сохранить копию папки проекта? Или мне нужно было бы просто подключиться напрямую к внешней папке, чтобы избежать создания отладочной копии?

Ответ №1:

Я нашел причину, по которой я столкнулся с этой проблемой. Я ошибочно изменил «копировать в выходной каталог» на «копировать, если новее» для набора данных (.xsd в обозревателе решений), а не для самой базы данных (.mdf в обозревателе решений).

Хотел опубликовать на случай, если другие новички столкнулись с этой проблемой.