2011-06-20 4 views
0

私はMVC 2を使い始めました。私はいくつかの質問を受け取りました。私の混乱を解消する助けになるかもしれません。MVC2に関連するいくらかの混乱/クエリ

mvcがビューページで複数のモデルを継承できる理由は何ですか? たとえば、私のビューでアカウントモデルを継承した場合、そのビューのアカウントモデルで関連するエンティティプロパティを超えることができない理由は、<%: Model.FirstName :%>のようなそのモデルのプロパティのみを使用することが許可されている場所First nameはアカウントモデルのプロパティです。なぜ我々は使用することができません<%:Model.account.aspnet_users.vehicle.make %>ここでaspnet_usersは、外部キーを介してアカウントに関連付けられています。 MVC 2のみが可能です<%:Model.account.aspnet_users.vehicle %>この場合、車の関連プロパティを使用することはできません。この場合、vehicle.makeです。私は<%: Html.TextboxFor(model => model.account.aspnet_users.vehicle.make %>のようなことをやろうと考えていました。

答えて

1

ASP.NET MVCはナビゲーションを関連プロパティに制限しません。あなたがプロパティにアクセスすることができない場合には、いずれかの意味:

  • 関係がロードされていません(それがnullである)と、遅延ロードがオフになっている/コンテキストを
  • が配置されている関係で、実際のコレクションであるANあなたはLINQのを使用する必要があります。コレクション内を移動するには
+0

そのコレクションでは、foreachを使用せずにコレクションを使用することはできません –

+0

私は2つのモデルの間に複数の関係を持っていますか? –

+0

はい、1対多リレーションシップを持つモデルには、関連するモデルのコレクションが含まれます –