Дело в том, что существуют генераторы кода и объектно-реляционные преобразователи (ORM) и генераторы кода, которые выполняют объектно-реляционное сопоставление.
Что-то вроде NHibernate является чистым (ORM) и не генерирует никакого кода, оно просто предоставляет вам слой персистентности объекта.
Llblgen - это генератор кода, который генерирует код, который выполняет функции ORM, но вы можете фактически увидеть код и переопределить его с помощью пользовательского поведения. Llblgen не будет генерировать ваш пользовательский интерфейс для вас, и он не предназначен для. Он сосредоточен на доступе к данным.
Тогда у вас есть такие инструменты, как CodeSmith или встроенный генератор T4, который поставляется с Visual Studio, который вы можете использовать для создания шаблонов, а затем они будут генерировать все, что вы захотите, при условии, что вы пишете свои собственные шаблоны. Я работал в компаниях, которые вложили тысячи в создание собственных шаблонов.
Наконец, есть полные инструменты, такие как CodeOnTime или IronSpeed, которые генерируют целые приложения для вас. Это звучит хорошо в теории и отлично подходит для небольших приложений типа CRUD, но вы теряете большую гибкость с такими инструментами, поскольку они часто имеют соглашения, с которыми вам нужно обойтись, и как только вы начнете сильно настраиваться, вы, как правило, получаете на вашем пути.
Вы должны спросить себя:
- Мне просто нужно что-то для доступа к моим данным? если это так, вы можете использовать ORM
- Нужно ли создавать сильно настроенный пользовательский интерфейс? в таком случае вам лучше всего избегать использования таких инструментов, как CodeOnTime и IronSpeed