私は最初の MVC アプリケーションに取り組んでいますが、まだすべてを把握しています。
この時点で、ドメイン オブジェクトと同一のビューモデルがあります。私のコントローラーはビューモデルを構築し、それをビューに渡します。ユーザーに主キーや外部キーをまだ表示したくないため、ビューには一部のプロパティのみが表示されます。主キーの場合は、データベースを更新/削除するためにデータが必要です。
ビューでviewmodelプロパティを使用しない限り、viewmodelを返すとデフォルト値(数値型の場合は0、参照型の場合はnull)に設定されているようです。これは正しい動作ですか?
Edit ビューに渡されたビューモデルにすべてのプロパティが含まれていることを確認しました (予想どおり)。
質問 - ビューがレンダリングされると、ビューモデルはどうなりますか? ビューモデルにビューで使用されていないプロパティが含まれている場合、それらの値は消えてしまいますか? たとえば、[編集アクション] リンクをクリックしてコントローラーで編集アクションを起動すると、アクションに渡されるビューモデルには、画面に表示されていない限りプロパティが含まれません。なんで?
ところで、これは ASP.NET MVC 4 RC です。