私はNHibernateで作業しています。データを持ち運ぶためにはDTOを生成する必要があります。私は手でそれをしたくありません。したがって私は、私を助けるためのショートカットやツールを探しています。私は、データベーステーブルを反映するオブジェクトを生成する簡単なツールを見つけることを望んでいました。これらのオブジェクトのプロパティは、データベーステーブルと同じ名前と同等の型を持ちます。コード生成 - データベーステーブルを参照してDTOを生成する。
答えて
http://summerofnhibernate.com/のセッションの1つ、具体的にはセッション08:データベース駆動モデリングの効率的なテクニックを見ながら探していたものが見つかりました。
彼が使用しているツールは、MyGenerationと呼ばれ、データベーステーブルを見てDTOを作成します。
データベースを参照して型を作成するツールは、ORM(Object Relational Mapper)と呼ばれます。 Entity FrameworkとLLBLGENは両方とも、無料でも商用でも利用できます。あなたはすでにあなたのタイプを持っている場合は
、あなたはのDTOに変換するAutoMapperを使用することができます。
AutoMapperは、オブジェクトのオブジェクトマッパーです。オブジェクト - オブジェクトマッピングは、あるタイプの入力オブジェクトを異なるタイプの の出力オブジェクトに変換することにより、 によって動作します。 AutoMapperは、 を提供して、 のタイプAをタイプBに変換する方法を説明しています。 AutoMapperの確立された規則に従う限り、ほぼゼロ設定はマップする必要があります。 2つのタイプ。
私の質問はもっと明確になるように更新しました。私はすでにNHibernateを使用しています。私はDTOを生成する必要があり、私は手でそれをしたくありません。したがって私は、私を助けるためのショートカットやツールを探しています。 –
AutoMapperは、既にマップするオブジェクトを持っている場合に適しています。 –
NHibernateを使用している場合、あなたはすでにオブジェクトを持っていますか? –
Visual Nhibernateは、データベーススキーマからドメインオブジェクトを生成できます。これらのオブジェクトを変更して、必要なDTOで終わることができます。両方のオブジェクトタイプを取得したら、Mitchのアドバイスに従い、EmitMapperやAutoMapperのようなツールを使ってDomainオブジェクトをDTOSに自動的にマッピングできます。
- 1. データベーステーブルから参照番号を生成
- 2. Hibernateコード生成外部キー参照オブジェクト
- 3. ビルド中のT4コード生成、カスタムアセンブリ参照
- 4. スリフト生成コード未定義参照
- 5. スクリプト#、参照されるライブラリのコードを生成する
- 6. Java/Flex ORM/DTO生成ツール
- 7. ブースト-pythonの参照を生成
- 8. 参照クラスを動的に生成
- 9. gsoapでXMLデータを生成してC++コードを生成する
- 10. 別のモデルを参照するモデルを参照する足場を生成
- 11. Javaで生成されたコードを参照してください
- 12. バーコードを参照してUPC-Aバーコードイメージを生成
- 13. Jackson:参照付きスキーマの生成
- 14. ヘッダーファイルを参照してDLLを参照するアプリケーションを作成するときにエラーが発生する
- 15. 自分自身を参照するクラスを生成する
- 16. clone()はイベントハンドラの別の参照を生成しますか?
- 17. コードを生成するR
- 18. wcfの参照が正しく生成されていない
- 19. ファントムを使用した生成クエリを参照
- 20. グリッドにボタンを生成して配置し、x、y座標で参照する
- 21. ペイポート決済ゲートウェイで商人参照を生成する
- 22. エラーを生成するfstreamオブジェクトへの参照
- 23. SQL Server:参照列を生成する方法
- 24. Xtext/Xbase文法で生成された型を参照する
- 25. ngForから個々の生成コンポーネントを参照する
- 26. 私の観測データフレーム(マルチレベルインデックス)を生成するコードを生成
- 27. 参照を使用したIBM Rhapsodyアクセサの生成
- 28. WCFへのWebアプリケーション参照はプロキシクラスを生成しません。
- 29. エンティティからDTOを生成するツールはありますか?
- 30. C#コード生成
T4の使用を検討してください。 –
@MichaelMaddox私はT4を見ましたが、それを行う方法を正確に見つけることができませんでした。私がやろうとしていることをT4を使って行う方法の例はありますか? –
は完璧な例ではありませんが、ここでそのアイデアを得ることができます:http://stackoverflow.com/questions/2223421/t4-template-to-create-multiple-html-for-example-output-files-per-table- from/3070406#3070406 –