0
私は3つのテーブルと多対多の関係を持っています。従業員、歴史、およびタイトル。履歴テーブルには、タイムスパンと、従業員とタイトルの両方との関係が含まれています。MVC関連するデータの更新
私は最終的に、各従業員のタイムパンとタイトルの両方を共通のビューから編集できるようにしたいと考えています。 employeeController.cs
私はフォームを提出するときに私はこのコードを持っています。
[HttpPost, ActionName("Edit")]
[ValidateAntiForgeryToken]
public ActionResult Edit(employee empl) // Note: I have no bindings here, either. Should I?
if (ModelState.IsValid)
{
db.Entry(empl).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(empl);
}
しかし、オブジェクトempl
は、履歴、コレクションのそれには何もありません。それは単にCount = 0
と言います。私はそれを更新することができるように私の履歴(そして後でタイトルテーブル)をどのように含めることができますか?
employee.cs
私のいくつか:参考
public partial class employee
{
public employee()
{
this.Histories = new HashSet<Histories>();
}
public virtual ICollection<Histories> Histories { get; set; }
}
、これは従業員のためにEdit.cshtml
に正しく示しています。より多くの情報が必要な場合は
<table class="table">
<tr>
<th>Start date</th>
<th>End date</th>
<th>Title</th>
</tr>
@foreach (var item in Model.Histories.OrderByDescending(x => x.fromdate))
{
<tr>
<td>
@Html.EditorFor(modelItem => item.fromdate)
</td>
<td>
@Html.EditorFor(modelItem => item.todate)
</td>
<td>
@Html.EditorFor(modelItem => item.Title.Title)
</td>
</tr>
}
</table>
は、お気軽にお尋ねをし、申し訳ありません任意のタイプミス。私はすべてのクラス名を英語に翻訳しなければならなかったので、より理解しやすくなりました。このようseomthing
は、あなたは私の 'DB' の種類を言って気にしますか? – wimdetr