2011-08-09 8 views
2

この例で使用している設計と密接に従っている新しいプロジェクトを作成しています。Entity Framework n-tierソリューション

http://www.toplinestrategies.com/dotneters/net/wcf-entity-framework-and-n-tier-solutions-part-2/?lang=en

私は、ほとんどの作業を行うには、ビジネスレイヤに送信WCFサービスと対話するWPFやASP.NETアプリケーションを持っています。

POCOオブジェクトが生成され、そのテンプレートがモデルプロジェクトに移動され、ビジネスおよびデータレイヤー内のオブジェクトにアクセスできます。私の質問は、このような状況でData Access Layerがどのような目的を果たすのかです。 .edmxファイルだけを保持しているようです。

この標準的な方法ですか、.edmxファイルをビジネスレイヤーに入れるだけで効率が上がりますか?

答えて

1

DALは、一般にモデルとデータベーステーブルの間のマッピングを提供します。あなたの説明によれば、あなたはマッピング部分をモデルに移動しました。私はそれが良い練習だとは思っていません。たとえば、データベーステーブルとして、モデルプロジェクトを変更/構築する必要があります。あなたが後でEFの代わりにNHibernateを使うことを決めたら?これらの理由から、私はマッピングがDALでなければならず、DALは別のプロジェクトであると考えます。

+0

したがって、私はモデルレイヤーを省略し、POCOオブジェクトを渡すためにビジネスロジックレイヤーからデータレイヤーを参照するだけです。または、私のデータレイヤーにビジネスロジックが含まれている必要がありますか? – MillerM

+0

同様の理由から、私はBLLとDALを区別します。 BLLでは、DALからデータを取得するために汎用リポジトリクラスを使用します。 –

+0

私には理解できないことを許してください。しかし、生成されたPOCOを使用してリポジトリクラスを使用する利点は何ですか? – MillerM

関連する問題