14

ドメイン駆動設計は初めてですが、それを学び、新しいアプリケーションに使用したいと考えています。データ アクセスには Entity Framework を使用します。

これまでの基本的なレイアウトは次のとおりです。

ASP.NET MVC とその他のクライアント (モバイル デバイスなど)
|
ウェブサービス
|
ドメイン モデル (サービス、リポジトリ、集合体、エンティティ、および値オブジェクト)
|
データ アクセス層 (エンティティ フレームワーク)
|
データ ストレージ (SQL Server)

データ アクセス レイヤーとドメイン モデルの間でデータを転送する最善の方法は何ですか? ドメイン モデルのエンティティは POCO オブジェクトであり、Entity Framework オブジェクトとの間でマッピングする必要があると考えています。これは良い解決策ですか?

もしそうなら: その
ようなマッピングはどのように、どこで行われるべきですか? (ドメイン モデル レイヤーまたはデータ アクセス レイヤー)
どこで、どのように Entity Framework にクエリを実行する必要がありますか (つまり、検索に基づいてリストを返す)?

4

4 に答える 4

14

ANDREY YEMELYANOVは、この正確な主題について修士論文を作成しました。

http://gupea.ub.gu.se/dspace/bitstream/2077/10462/1/gupea_2077_10462_1.pdf

これは、POCOオブジェクトをサポートするEF4のリリースではるかに簡単になります。

それまでの間、automapperを使用してドメインオブジェクトとEFオブジェクトをマッピングしてみてください。http://www.lostechies.com/blogs/jimmy_bogard/archive/2009/01/22/automapper-the-object-object-mapperを参照してください。 aspx

于 2010-02-12T11:30:08.760 に答える
3
ドメインモデルのエンティティはPOCOオブジェクトであり、EntityFrameworkオブジェクトとの間でマッピングする必要があると考えています。これは良い解決策ですか?

私はそう思う。

私の場合はJavaの世界ですが、これは私たちが非常に成功したことです。ドメインクラスには、ビジネスロジックの大部分が含まれています。それぞれにシンデータエンティティオブジェクトへの参照があり、永続プロパティの取得と設定をデータエンティティに委任します。

于 2010-01-16T21:13:49.007 に答える
3

私なら、capableobjects.com の Enterprise Core Objects (ECO) を選びます。

DDD フレームワークに必要なすべてのことを実行します

于 2010-01-18T09:46:18.010 に答える
2

S#arp アーキテクチャ プロジェクトは、DDD の適用に関するガイダンスの出発点として最適です。これは NHibernate に基づいていますが、使用される原則は EF にも同様に当てはまるはずです...

于 2010-01-17T16:24:28.017 に答える