#asp.net-mvc #asp.net-mvc-3 #entity-framework-4.1
#asp.net-mvc #asp.net-mvc-3 #entity-framework-4.1
Вопрос:
Я пытался ASP.NET MVC 3 использует подход «Сначала код» с EntityFramework. Есть пара проблем, с которыми я сталкиваюсь.
-
Как мне синхронизировать базу данных, если схема изменяется и / или я обновляю свою модель. Прямо сейчас я должен удалить и заново создать базу данных, чтобы потерять все мои данные. Есть ли доступный пакет, который я могу использовать для автоматического обновления схемы. В одной из демонстраций я видел, как Скотт Хансельман использовал «EntityFramework.Пакет «Миграция». Я предполагаю, что это не выпущенное использование. Есть альтернативы?
-
MvcScaffolding воссоздает все представления / контроллеры. Есть ли способ сохранить стиль CSS в представлениях, если выполняется MvcScaffolding и представления создаются заново.
Заранее благодарю.
Комментарии:
1. Проверьте это — EntityFramework. Сопоставление схем
Ответ №1:
Существуют различные инструменты для генерации сценариев изменений для баз данных. Что касается самой entity Framework, то скоро появится EntityFramework.Миграции, которые также будут обрабатывать это.
Я не уверен в вашем втором вопросе. Я лично не использую автоматическую генерацию представлений, однако, я считаю, что вы должны иметь возможность изменять шаблон T4, чтобы генерировать свои представления так, как вы хотите.
Комментарии:
1. Спасибо за ваш ответ. Второй вопрос был больше о сохранении стиля CSS в представлениях. При каждом запуске Scaffold он перезаписывает и воссоздает представления, таким образом, любой CSS-класс, добавленный к представлениям, перезаписывается по умолчанию ASP.NET Тема MVC.
2. 1 за миграции. Слишком просто сказать «заполнить базу данных», но это подходит только для сред разработки.
Ответ №2:
Что касается вашей проблемы с потерей данных, рассмотрите возможность использования классов инициализатора базы данных. Вы можете заполнять данные при каждом изменении вашей модели. Я знаю, что это не идеально, но это все, что у нас есть прямо сейчас с EF 4.1. Вы можете использовать что-то вроде инструментария SQL от Red Gate для синхронизации сред. Как часть пакета, вы можете синхронизировать данные. Вы всегда можете создать резервные копии сценариев, созданных SQLToolbelt.
Ответ №3:
Для решения проблемы со строительными лесами просто измените сами шаблоны строительных лесов, чтобы они содержали классы CSS. таким образом, всякий раз, когда вы повторно создаете каркас, классы CSS будут там.