Если использовать Activerecord, генерируйте модели, каждый из которых я изменяю структуру базы данных? [закрыто

StackOverflow https://stackoverflow.com/questions/4131981

Вопрос

Если это так, я думаю, что это проблемы.

Это было полезно?

Решение

Что больше проблем, ошибки времени компиляции, потому что вы переименовали столбец или ошибку времени выполнения «Столбец XYZ не существует».

Если вы хотите изменить сгенерированные классы самостоятельно и беспокоитесь о том, что ваши изменения перезаписаны. Есть три способа внести изменения в созданный DAL.

  1. Дозвуковые классы являются частичными.

    Если вы создаете другой класс в одном и том же пространстве имен, вы можете добавить свойства/методы и переопределить участники (из базового класса).

  2. Измените шаблоны.

    В зависимости от дозвуковой версии (2 или 3) существуют разные приблизительные, как генерировать DAL. Но оба они имеют аналогичный синтаксис ASPX (2 = Custom, 3 = двигатель T4)

  3. Наследуют от классов.

Вы можете создать свои собственные классы, которые наследуют от сгенерированных. (Я бы не предложил сделать это, если вы хотите использовать 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 для генерации классов).

В чем проблема с тем фактом, что модель регенерирована?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top