1

私のソリューションでは、最初に EF DB を使用しています。

BLDALおよびCommonレイヤーがあります。

BLビジネスモデルを操作するマネージャーが含まれています

DalCRUD操作を行います

後者は、他のすべてのレイヤーが消費するすべての DTO とインターフェイスを保持します。

すべてのプロジェクトはプロジェクトを参照しCommonます。

IDal今、私は自分のオブジェクトのリストを返すインターフェースを作成したいBusiness model(EFタイプの)

問題は、EF 型が Dal プロジェクトで定義されており、この参照が Common\IDal であるということです。

そのため、IDal は循環参照のために Dal を参照できません。

EFオブジェクトをBLオブジェクトにマッピングしようと思ったのですが、どうすれば効率化できますか?

私は多くの構成Business modelオブジェクトを持っています。それらを複製したくありません。

右?

4

1 に答える 1

-1

IDAL は Common または DAL 自体にある必要があると思います。

プロジェクトを参照するたびに、多くのプロジェクトを作成する必要はありません。

必要に応じて、リポジトリの可視性を変更してinternal、他のプロジェクトがpublicインターフェイスだけを使用できるようにすることができます。

より多くの代替および異なる実装については、 NSK スターター キットが非常に参考になると思います。

更新 1:

構造は次のようになります。

  • 純粋なビジネスのほとんどすべてを含むプロジェクトの中心部分はDomain.
  • Data Access以下に参照がありますDomain
  • Data Access Common含むData Access Interfaces
  • および_ Service_DomainData Access Interface
  • sService Interfaceを含むがありますService Interface and DTO
  • と おそらくUIを参照する があります。Service InterfaceDomain

Cedarで私自身の細工された構造を見ることができます。

于 2012-11-29T14:52:09.963 に答える