2011-10-26 18 views
1

私はNHibernateで作業しています。データを持ち運ぶためにはDTOを生成する必要があります。私は手でそれをしたくありません。したがって私は、私を助けるためのショートカットやツールを探しています。私は、データベーステーブルを反映するオブジェクトを生成する簡単なツールを見つけることを望んでいました。これらのオブジェクトのプロパティは、データベーステーブルと同じ名前と同等の型を持ちます。コード生成 - データベーステーブルを参照してDTOを生成する。

+0

T4の使用を検討してください。 –

+0

@MichaelMaddox私はT4を見ましたが、それを行う方法を正確に見つけることができませんでした。私がやろうとしていることをT4を使って行う方法の例はありますか? –

+0

は完璧な例ではありませんが、ここでそのアイデアを得ることができます:http://stackoverflow.com/questions/2223421/t4-template-to-create-multiple-html-for-example-output-files-per-table- from/3070406#3070406 –

答えて

0

http://summerofnhibernate.com/のセッションの1つ、具体的にはセッション08:データベース駆動モデリングの効率的なテクニックを見ながら探していたものが見つかりました。

彼が使用しているツールは、MyGenerationと呼ばれ、データベーステーブルを見てDTOを作成します。

0

データベースを参照して型を作成するツールは、ORM(Object Relational Mapper)と呼ばれます。 Entity FrameworkとLLBLGENは両方とも、無料でも商用でも利用できます。あなたはすでにあなたのタイプを持っている場合は

、あなたはのDTOに変換するAutoMapperを使用することができます。

AutoMapperは、オブジェクトのオブジェクトマッパーです。オブジェクト - オブジェクトマッピングは、あるタイプの入力オブジェクトを異なるタイプの の出力オブジェクトに変換することにより、 によって動作します。 AutoMapperは、 を提供して、 のタイプAをタイプBに変換する方法を説明しています。 AutoMapperの確立された規則に従う限り、ほぼゼロ設定はマップする必要があります。 2つのタイプ。

+0

私の質問はもっと明確になるように更新しました。私はすでにNHibernateを使用しています。私はDTOを生成する必要があり、私は手でそれをしたくありません。したがって私は、私を助けるためのショートカットやツールを探しています。 –

+0

AutoMapperは、既にマップするオブジェクトを持っている場合に適しています。 –

+0

NHibernateを使用している場合、あなたはすでにオブジェクトを持っていますか? –

0

Visual Nhibernateは、データベーススキーマからドメインオブジェクトを生成できます。これらのオブジェクトを変更して、必要なDTOで終わることができます。両方のオブジェクトタイプを取得したら、Mitchのアドバイスに従い、EmitMapperやAutoMapperのようなツールを使ってDomainオブジェクトをDTOSに自動的にマッピングできます。

関連する問題