問題は、オブジェクト リレーショナル マッピングを行うコード ジェネレーターとオブジェクト リレーショナル マッパー (ORM) およびコード ジェネレーターがあることです。
NHibernate のようなものは純粋な (ORM) であり、コードを生成しません。オブジェクトの永続化レイヤーを提供するだけです。
Llblgen は、ORM の機能を実行するコードを生成するコード ジェネレーターですが、実際にコードを確認し、カスタム動作でオーバーライドすることができます。Llblgen は UI を生成しませんし、そのように設計されていません。データアクセスに重点を置いています。
次に、CodeSmith や Visual Studio に付属するビルトイン T4 ジェネレーターなどのツールを使用してテンプレートを作成すると、独自のテンプレートを作成すれば、それらは必要なものを生成します。私は、独自のテンプレートを作成するために何千ドルも投資した企業で働いてきました。
最後に、アプリケーション全体を生成する CodeOnTime や IronSpeed などの完全なツールがあります。これは理論的には良さそうに思えますし、小規模な CRUD タイプのアプリケーションには最適ですが、このようなツールでは多くの柔軟性が失われます。これらのツールには回避策が必要な慣習があることが多く、高度なカスタマイズを開始すると、あなたの方法で。
次のことを自問する必要があります。
- データにアクセスするためだけに必要なものはありますか? もしそうなら、あなたはORMを使うことができます
- 高度にカスタマイズされた UI を生成する必要がありますか? もしそうなら、CodeOnTime や IronSpeed のようなツールを避けるのが最善でしょう。