0

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

我该如何修改它,以便返回新的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

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

试试这个:

book = db.Book.Add(book); 

它给你想要的东西。

如果你想回报模型和ModelState中使用这样的:

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

这就是我失踪了。现在效果很好,谢谢! – Rethic

+0

没问题:) :) –