Я столкнулся с той же проблемой (но с SQL Server вместо aspnetdb.mdf), и это решение, которое работало для меня. Я знаю, что вопрос старый, но я публикую его для будущих ссылок.
Имейте в виду, что при использовании этого решения ваша база данных будет удалена до развертывания новой базы данных. Таким образом, это небезопасная операция и подходит только для разработки.
Прежде всего, я думаю, что опция удаления базы данных должна быть доступна через флажок в настройках проекта, но вместо этого мы вынуждены редактировать файл проекта вручную. Запись в статье Как: развернуть базу данных с проектом веб-приложения . В разделе «Повторное развертывание с использованием автоматически сгенерированных сценариев» мы можем прочитать, что установка ScriptDropsFirst=True
в PreSource element
автоматически сгенерированного сценария приведет к удалению целевой базы данных перед развертыванием новой базы данных.
Итак, для этого: Откройте файл .csproj
в блокноте, найдите раздел с именем PreSource
(по одному для каждой конфигурации debug / release / ...) и добавьте в него элемент ScriptDropsFirst="True"
, чтобы весь тег XML находится на форме
<PreSource Path="Data Source=LOCALHOST\SQLEXPRESS%3bInitial Catalog=myDB%3bIntegrated Security=True" ScriptSchema="True" ScriptData="False" CopyAllFullTextCatalogs="False" ScriptDropsFirst="True" />
Используя эти настройки, я могу повторно публиковать свои базы данных по своему желанию.
Примечание: это решение вряд ли будет работать в производственной среде, где вы не можете удалить свои базы данных, как только вам потребуется обновить решения. Вместо этого я бы предпочел использовать пользовательские сценарии для помощи в обновлении, как описано в разделе «Развертывание изменений в базе данных с помощью пользовательских сценариев» той же статьи.