0

Umm。 ProjectName.Domainプロジェクトのコンテキスト、マッピング、ProjectName.Dataプロジェクト、リポジトリ、エンティティ、サービスなどを配置します。ASP.NET MVC 3ソリューションレイアウトの問題

しかし、参照元の問題が発生しています。データでは私はドメイン名前空間にアクセスする必要があり、ドメイン名前空間ではデータ名前空間にアクセスする必要があり、参照を追加すると(データプロジェクトはドメインへの参照を取得し、ドメインはデータへの参照を取得したかった)これは循環依存を生成するためです。

助けてください?それぞれのものは通常どこに属していますか?

ありがとうございます!

+0

これは多くの場合、EF4の使用方法によって異なります。 POCOを使用していますか? – anon

+0

はい。私はEF4 Code-FirstでPOCOを使用しています。 – Rushino

答えて

3

'標準' レイアウトは、通常より多くのようなものです:

ProjectName.Domain - POCOS

ProjectName.Data - サービス
* - &リポジトリ
*はProjectName.Domain

ProjectName.Servicesへの参照を追加します。コンテキストProjectName.DomainおよびProjectName.Dataへの参照を追加します。

+0

それは私が何とか。ありがとう! – Rushino

+0

問題ありません。建築の世界へようこそ!興味深いことに、多くのアーキテクトは、ProjectName.Domainにリポジトリインタフェースを宣言する必要があると言います。たとえば、製品で作業している場合は、IProductRepositoryをProjectName.Domainに宣言し、ProjectName.Dataの実際のリポジトリがインターフェイスを実装します。これにより、実際のリポジトリを使用せずにドメインとサービスをテストすることができます。 – anon

+0

@anon 'ProjectName.Domain'は' Class Library'ですが、 'ProjectName.Data'とは何ですか? – Komengem