次のモデル クラスがあります (最初に EF コードを使用してテーブルを生成しています)。
public class MyClass
{
....
[Required, ForeignKey("Address")]
public int Address1Id { get; set; }
virtual public Address Address1 { get; set; }
[Required, ForeignKey("Address")]
public int Address12d { get; set; }
virtual public Address Address2 { get; set; }
[Required, ForeignKey("Address")]
public int Address3Id { get; set; }
virtual public Address Address3 { get; set; }
....
}
public class Address { .... }
の作成ビューにMyClass
すべての住所フィールドが表示され、MyClass
. しかし、足場は住所の DropDownList ボックスを生成しました。MyClass
これらの住所フィールドがクラスで直接コード化されているように動作するようにコードを変更し、コントローラーがアドレスを tableAddress
およびAddressID
tableに保存できるようにする方法はMyClass
?
<div class="editor-label">
@Html.LabelFor(model => model.Address1Id, "Address")
</div>
<div class="editor-field">
@Html.DropDownList("Address1Id", String.Empty)
@Html.ValidationMessageFor(model => model.Address1Id)
</div>
更新: 次の ViewModel を作成しようとしましたが、クラスにキーが定義されていないとスキャフォールディングが訴えます。
public class DealViewModel
{
public Deal Deal { get; set; }
public Address Address { get; set; }
}