Если использовать Activerecord, генерируйте модели, каждый из которых я изменяю структуру базы данных? [закрыто
-
29-09-2019 - |
Вопрос
Если это так, я думаю, что это проблемы.
Решение
Что больше проблем, ошибки времени компиляции, потому что вы переименовали столбец или ошибку времени выполнения «Столбец XYZ не существует».
Если вы хотите изменить сгенерированные классы самостоятельно и беспокоитесь о том, что ваши изменения перезаписаны. Есть три способа внести изменения в созданный DAL.
Дозвуковые классы являются частичными.
Если вы создаете другой класс в одном и том же пространстве имен, вы можете добавить свойства/методы и переопределить участники (из базового класса).
Измените шаблоны.
В зависимости от дозвуковой версии (2 или 3) существуют разные приблизительные, как генерировать DAL. Но оба они имеют аналогичный синтаксис ASPX (2 = Custom, 3 = двигатель T4)
Наследуют от классов.
Вы можете создать свои собственные классы, которые наследуют от сгенерированных. (Я бы не предложил сделать это, если вы хотите использовать xyzCollection дозвукового2.
Обновление: шаблоны T4 (*.tt) выполняются только при изменении файла или щелкните правой кнопкой мыши файл TT и выбираете «Запустить пользовательский инструмент». Для дозвуки после изменения схемы вы должны выбрать «Запуск пользовательского инструмента» для каждого файла TT, который вы хотите обновить (activerecord.tt, structs.tt и т. Д.). Тем не менее, T4 - это автономный инструмент, который можно легко интегрировать в процесс сборки:
http://broloco.blogspot.com/2008/11/using-t4-command-line-parameters.html
Другие советы
Если вы используете дозвуку, модель воссоздается каждый раз, когда база данных модифицируется (автоматически, если вы используете поставщика сборки или вручную, если вы используете oombonic.exe для генерации классов).
В чем проблема с тем фактом, что модель регенерирована?