使用实体框架在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();
}

任何指针为什么不能正确保存?

使用实体框架在MVC中保存一个实体的多个条目

你可能有一个类代表你写的"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();