1) 学生と 2) 住所の 2 つのエンティティがあります。
public class Student
{
Public Int StudentId { get; set; }
Public String FullName { get; set; }
Public virtual IList<Address> Addresses { get; set; }
}
public class Address
{
Public Int AddressId { get; set; }
Public Int StudentId { get; set; }
Public String FullAddress { get; set; }
Public virtual Student Student { get; set; }
}
各学生は、0 個以上のアドレスを持つことができます。
この 2 つのエンティティに対して単一のビューを作成したいと考えています。ビューモデルを作成する必要があることはわかっています。これはビューモデルです。
public class StudentViewModel
{
Public Int StudentId { get; set; }
Public String FullName { get; set; }
public Address AddAddressModel { get; set; }
Public virtual IList<Address> Addresses { get; set; }
}
そして、StudentViewModel のビューを作成します。これは StudentViewModel です。
@model MyProject.Models.StudentViewModel
@{
ViewBag.Title = "Create";
}
@using (Html.BeginForm ())
{
@Html.ValidationSummary(true)
<fieldset>
<div class="editor-label">
@Html.LabelFor(model => model.FullName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.FullName)
@Html.ValidationMessageFor(model => model.FullName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.AddAddressModel.FullAddress)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.AddAddressModel.FullAddres)
@Html.ValidationMessageFor(model => model.AddAddressModel.FullAddres)
</div>
<button id="add">add address to list</button>
<input type="submit" value="save in database" />
</fieldset>
StudentViewModelのAddressesプロパティに1つ以上のアドレスを1つずつ追加し、この操作後にユーザーに表示する方法を教えてください。最後に、「データベースに保存」ボタンをクリックすると、学生と彼の住所がデータベースに挿入される必要があります。