0

我有一个使用 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());
    }
4

1 回答 1

1

函数 Add 使用正确的 id 参数从添加的 db 结果返回。

尝试这个:

book = db.Book.Add(book);

它给你你想要的。

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

return Json(new[] { book }.ToDataSourceResult(request, ModelState);
于 2013-10-31T17:20:31.583 回答