質問

Iは、3層アーキテクチャを使用しているASP.net(C#)プロジェクトを持っています。私は私のDALにEntity Frameworkのを使い始め、問題は、Entity Frameworkで生成されたエクステントのクラスはビジネスロジック層に使用することができるかにありますか?

それらを直接使用することは良い考えですか私は自分自身のビジネス・オブジェクトを作成し、Entity Frameworkの(DB-> O / RM-> BOS)?

からそれらにマップする必要があります
役に立ちましたか?

解決

私の意見では、EFオブジェクトはあなたにマッピングされます。これは、より高い開発コストを持っていますが、永続無知とデカップリングの追加の利点を提供します。このデカップリングは、ビジネス・ニーズが異なる永続化ソリューションへの切り替えをする必要があり、長期的に重要な敏捷性と現実世界の節約に変換することができます。デカップリングがなければ、EFオブジェクトは、巨大なリファクタリングを必要とし、深くBLL、さらにはプレゼンテーション層に埋め込まれてなることができます。そのような場合には、ビジネスでも、ビジネスの競争力を低下する原因となる可能性がある、ソリューション持続性の切り替えを検討しない場合があります。

高い開発コストで、この利点を享受するという決定は、ビジネスを取って喜んでリスクの量に依存します。私は、プロジェクトの委員と相談し、技術的な方法で彼らの戦略目標を解釈するために、あなたの最善の判断を使用することをお勧めます。

他のヒント

あなたのビジネスオブジェクトとして生成されたクラスを使用するために合理的に十分でなければなりません。あなたが喜ばとして、あなたがそれらを簡単に拡張することができるように生成されたクラスは、部分的です。時々私はそれが用途のインタフェースへのよりよい選択肢見つけます。

私は(.NET 4.0ベータ2で)EF 2.0で開始している、それがEFのエンティティとしてPOCO clasesを使用するための施設があります。すなわち、あなたは今、EF 2
に無知なクラスの永続使用することができます 私は、私は、Visual Studio 2010ベータ2で作業するときにPDC 2009のプレゼンテーションをたどるが、<のhref = "http://blogs.msdn.comで、このために時計を出し続けることができなかったとして、これは、まだ完全に準備ができていないと思います/ adonet /」のrel = "nofollowをnoreferrer"> ADO.Netチームのブログでます。

あなたは永続無知(POCOを見てみたいことがありEntity Frameworkのの)アダプタ。これは、EF 1.0にPOCOのサポートをもたらすEFチームのメンバーからのオープンソースプロジェクトです。 EF 4.0は、アウトオブボックスPOCOサポートしていますが、このプロジェクトは、2010年には、.NET 4.0滴までのストップギャップ尺度として役立つ。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top