Мои 2cents на коде gen таковы, что это также важно для использования в рефакторинге. Я обнаружил, что необходимы частичные классы и хорошая утилита сравнения файлов (Araxis или BeyondCompare).
Храните сгенерированный код в одном файле и пользовательские настройки, которые вы сделали для этого класса, в другом файле.
Эта практика позволит вам быстро осуществить эти всеобъемлющие изменения в структуре, а также поможет вам перейти к новой парадигме, в то же время легко сохраняя свою собственную логику.
CodeSmith FTW!
Несмотря на то, что серверы сборки великолепны для обеспечения компиляции всего вашего кода, они не учитывают различия в сигнатурах с вашими хранимыми процессами и т.п. Если вы регулярно запускаете code gen, вы можете легче определить, когда происходят эти изменения. Модульное тестирование покажет вам, что SP не прав, а code gen скажет вам, как сделать это правильно.