使用自动递增ID更新ModelState的数据

时间:2013-10-31 17:07:58

标签: sql-server asp.net-mvc entity-framework c#-4.0 auto-increment

我有一个使用Entity Framework 6执行表插入的方法。该表有一个ID字段,在写入SQL Server时会自动填充。我希望该方法返回以前在ModelState中的所有数据以及新记录。当我运行这段代码时,除了新记录的ID之外,我得到的所有内容都以0回显。

我如何重做这个,以便返回新ID以及ModelState中的其余数据?

   [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult EditingInline_Create([DataSourceRequest] DataSourceRequest request, Book book)
    {
        if (bookViewModel != null && ModelState.IsValid)
        {
            MyRepository db = new MyRepository();
            db.Books.Add(book);
            db.SaveChanges();
        }

        return Json(ModelState.ToDataSourceResult());
    }

1 个答案:

答案 0 :(得分:1)

功能添加使用正确的id参数添加的db结果返回。

试试这个:

book = db.Book.Add(book);

它可以满足您的需求。

如果你想要返回模型和模型状态,请使用:

return Json(new[] { book }.ToDataSourceResult(request, ModelState);