しばらくの間、ASP.net MVC を掘り下げてきました。ほとんどのブログや投稿では、リポジトリ パターンを実装して Entity Framework を抽象化することが "ベスト プラクティス" であることが示されているようです。また、EF ドメイン エンティティを直接操作するのではなく、ビュー固有のモデルを利用することをお勧めします。
リポジトリにキャッシュの透明なレイヤーを実装するよりも、MVC アプリが Entity Framework について何も知る必要がなく、ビュー固有の POCO モデルにすべての EF メソッドとプロパティが添付されていないため、これはある程度理にかなっています。それらに (XML および JSON シリアライゼーションを台無しにする傾向があります)。
しかし、それが人々が「あるべき」開発方法である場合、Visual Studio のすべてのコントローラー/ビュー ウィザードとツールが Entity Framework に直接焦点を当てているのはなぜですか? http://www.asp.net/mvcにあるすべての Microsoft の例が、キャッシュを使用してリポジトリを作成し、ビュー固有のモデルを利用するのではなく、フレームワークとドメイン エンティティを直接操作しているように見えるのはなぜですか?
また、ビュー固有のモデルを使用する必要がある場合、ドメイン エンティティをコントローラー内のモデルにマッピングしていますか? 特定のフィールドだけが必要な場合、コントローラーにオブジェクト グラフを返すのは非効率的ではありませんか? または、リポジトリでビューモデル固有のメソッドを作成する必要がありますか?