使用实体框架在MVC中保存一个实体的多个条目
本文关键字:实体 一个 框架 MVC 保存 | 更新日期: 2023-09-27 18:06:01
我试图有一个视图,我可以同时更新同一实体类型的多个条目。我有以下设置,但它不能正确保存条目。
<<p> 视图/strong>@model List<WebApplication1.Models.A>
@using (Html.BeginForm("update", "Default", "POST"))
{
<table class="table">
<tr>Headings</tr>
@for (int i = 0; i < Model.Count(); i++)
{
<tr>
@Html.EditorFor(m => Model[i], "EditorTemplate")
</tr>
}
</table>
<input type="submit" value="Save" class="btn btn-default" />
<<p> 编辑模板/strong> @model WebApplication1.Models.A
<td>@Html.DropDownListFor(model => model.Status, new SelectList(new List<String> { "Open", "Resolved", "Cancelled" }, "Value"), Model.Status)
</td>
<td>
@Html.EditorFor(model => model.Revised_Estimate, new { style = "width:5px" })
</td>
<td>
@Html.EditorFor(model => model.Actual_Completion_Date, new { htmlAttributes = new { @Value = Model.Actual_Completion_Date, @class = "form-control" } })
</td>
控制器[HttpPost]
public ActionResult update(List<A> aList)
{
for (int i = 0; i < aList.Count(); i++ )
{
A entry = aList.ElementAt(i);
db.Save(entry); // Built-in function to save each entry
db.SaveChanges();
}
return RedirectToAction();
}
任何指针为什么不能正确保存?
你可能有一个类代表你写的"a "
如果你想在数据库中输入A的列表,你应该有一个存储A对象的表
所以代码可能是: for (int i = 0; i < aList.Count(); i++ )
{
A entry = aList.ElementAt(i);
db.A.AddOrUpdate(entry);
// Instead of using AddOrUpdate you can use Add function
db.Add(entry);
}
int results = db.SaveChanges();