私はMVCフレームワーク(ASP.NET MVC2 / 3 / Razor)を使用して数か月しか経っていないので、本当に楽しんでいますが、ビューモデルの標準を理解するのに苦労しています。私のプロジェクトには、Modelsフォルダー(データモデルが含まれています-Linq DBML、Repository [ies]、Extensionメソッド)とModels/ViewModelsフォルダーがあります。私のビューモデルは通常、再利用可能なクラスであり、通常、特定のビューにアクセスする必要があるLINQオブジェクトまたはオブジェクトのコレクションの単純なget/setプロパティが含まれています。
今私が抱えている問題は、ビューモデルをいつ作成するかを理解することです。私の目標は、特に編集アクションの場合に、LINQオブジェクトをビューモデルとしてできるだけ頻繁に使用することです。私の問題は、表示目的でのみ使用したい他のデータがある場合はどうなりますか?ViewData / ViewBagコレクションを使用するのは好きではありません。これらのメンバーにアクセスするには、コレクションアイテムのキーに関する知識が必要です(デザイナー/フロントエンドの人が「推測」するのは簡単ではありません)。また、ビューごとにViewModelを作成するというアイデアも好きではありません。これは、不必要に厄介なコードのように見えるためです。
たとえば、ある従業員のデータモデルがあり、その従業員とは関係のない情報を表示したいとします。たとえば、サイト統計、動的メニューなど、データベースから取得できると思われる情報をすべて表示します。/ Employee / Editアクションを渡す必要があるモデルは何ですか?残りのViewData[]の束を持つEmployeeオブジェクト、またはカスタムEmployeeView?
ゴールドスタンダードはありますか?私は何が欠けていますか?私が調べなければならないことをあなたは何を変えていますか?前もって感謝します!