1

EF モデルが別のアセンブリに含まれており、すべての DB 操作でデータ アクセス レイヤーによって参照/使用されている場合、簡素化するためにビジネス インテリジェンス レイヤーから EF モデルを使用して同じアセンブリを参照することは許容されますか? DALからBIレイヤーへのデータ転送?

これにより、DTO オブジェクトを排除できます。または、私の場合Tuples、DAL は BI が既に「知っている」EF オブジェクトを返すだけなので、DAL から BI にデータを転送するために使用します。問題は、これがアーキテクチャの観点から、関心の分離やその他の優れたソフトウェア設計の規則に反するものとして嫌われるかどうかです。

4

1 に答える 1

1

これが私がEFが好きではない理由です。DB を使用しているという事実を隠すには、新しいクラスを作成することによって、EF がこれらすべての素敵なクラスを生成しているという事実を隠す必要があります。

EF クラスにはナビゲート可能なリレーションがあり、それらのリレーションはエンティティがコンテキストにアタッチされている間のみ実行可能であるため、たとえば、それらをネットワーク経由で API クライアントに送信することはできません。

それはできますが、たとえば、Get 呼び出しに関連するレコードを含めないと、彼らはイライラします。

個人的には、漏れやすい抽象化は残しておきます。完全ではない場合 (咳 dapper 咳)、DL で恥を隠します。

于 2013-10-18T19:39:31.743 に答える