0

我正在尝试使用 asp.net mvc kendo ui 向表中添加行。但这是第一次,它是成功的。当第二次做时,调试指针说“自上一步以来进程或线程已更改”并尝试添加第一个插入值。由于该表不允许主键重复,因此第二次插入失败。请指教。

[AcceptVerbs(HttpVerbs.Post)]
 public ActionResult Insert([DataSourceRequest] DataSourceRequest request, AdminHeaderImage batchModel)
            {
                if (ModelState.IsValid)
                {
                    using (var Entity = new DealerEntities())
                    {                    
                        Entity.AdminHeaderImages.AddObject(batchModel);
                        Entity.SaveChanges();
                        return RedirectToAction("Index");
                    }
                }
                else
                {
                    return RedirectToAction("Index");
                }
            }

public ActionResult Index()
        {


            using (var Entity = new DealerEntities())
            {
                var outPut = Entity.AdminHeaderImages.ToList();
                return View(outPut);
            }
        }
4

2 回答 2

1

您的 Entity 对象似乎在请求之间共享。

我建议每个 Web 请求都有一个实体对象。

这篇文章解释更多

http://blogs.microsoft.co.il/blogs/gilf/archive/2010/05/18/how-to-manage-objectcontext-per-request-in-asp-net.aspx

于 2013-06-23T13:24:55.043 回答
0

我只是在插入末尾使用了以下代码,这将刷新我的实体。

“返回 Json(new [] { product }.ToDataSourceResult(request, ModelState));”

这解决了我的问题。

于 2013-06-25T06:01:07.607 回答