私は最初のデータベースプログラムをSql Expressで作っています。現在私はLinq-to-SQLをデータアクセスに使用しています。リポジトリクラスは「エンティティ」タイプのオブジェクトを返します。意味;ビジネスオブジェクトクラスとして使用するdbmlエンティティクラスを拡張します。今私はこれをもっと分離したいと思っています。 POCOビジネスオブジェクトを持ちます。リポジトリ; POCO/Linq-to-Sqlエンティティクラス間のマッピング
ここで私は、さまざまなソリューションが存在する可能性があるのは不思議です。私は、リポジトリ内のproperty-by-property、各エンティティクラスをドメインクラスに手動でマッピングする必要があるように思えます。私はこれまで数百の列を持つ約20のテーブルを持っています。さて、私はこれがあなたがまだ使用している一般的な/典型的なアプローチであるかどうかを確認したいだけです。過度の複雑さを導入しない選択肢がある場合、それは何でしょうか?手動でマッピングを作成する前に
はい私の計画はドメインクラスを直接リポジトリに/から渡すことです。だからDTOはなく、実際のPOCOもまったく正確ではない。 ...私が読んだすべての議論からの合意は、NHibernateがセットアップするのが簡単ではないことを示すようです。だから私はあまりにも早すぎると思う。 :)しかしそれは良いです。質問の私の目的は、どのような解決策が可能かを知ることです。だから私にとっては良い情報です! – bretddog
NHibernateは本当にそれほど悪くはありません。複雑さの大幅な増加は、DTOを生成するためのスキーマ図を必要とするLinq2SQLとは対照的に、一連のオブジェクト/スキーママッピングを必要とすることです。必要なマッピングが与えられている特定のDBに対してNHibernateを設定するのはかなり簡単です。 – KeithS
はい、私はいくつかのNHibernateのサンプルを見ました。そして、少なくとも私は思ったよりも見やすいです。正しいステップのように感じるので、試してみます。 – bretddog