MVC4 webapp + EntityFramwork5の3層アーキテクチャを開発しました。 私はレイヤーをsepareteにしておきたいので、例えばDALだけが私がEFを使っていることを知っています。ASP.NET MVC4 n-Tierアーキテクチャ:ベスト・アプローチ
実際に私はそれを管理するためのクラスがたくさんある:
DAL
- エンティティPOCO
- エンティティのDataContext:DbContext
- エンティティリポジトリ
BL
- エンティティのViewModel
- エンティティサービス(エンティティリポジトリをインスタンス化)
WEB
- エンティティコントローラ(エンティティサービスをインスタンス化)
これは仕事ですmantainはかなり難しいです。私はDALでエンティティリポジトリを削除し、DataContextを直接使用することを考えていました(すべてのDbContextがリポジトリと作業ユニットになると間違っていない場合)が、私のBLのEntityFramework.dll。大きな問題ではありませんが、それが最良の選択であるかどうかはわかりません。
アドバイスはありますか?
(あなたがより多くを必要とする場合、私はちょうど聞いて、私は十分な情報を与えた願っています)
私はそれがあなたのプロジェクトを維持するのは難しいと言います。どのレイヤーを維持するのが難しいと思いますか? –
例えば、私がPOCOにフィールドを追加すると、datacontext(必ずしもそうではない)、dalリポジトリ、BLビューモデル、BLサービスなどを更新する必要があります。この構造(または設計エラー) – Davide
こんにちは@Davide、あなたも同様にプロジェクトのためのいくつかのGOFデザインパターンを適用することができます。たとえば、POCOにフィールドを追加することができれば、 "Builder"パターンを使用することができます:)。 –