使用 WebAPI 中的新数据上下文找不到新添加的数据

本文关键字:数据 找不到 新添加 添加 上下文 WebAPI 使用 新数据 | 更新日期: 2023-09-27 18:30:53

所以我在WebAPI控制器中有这个方法。

public HttpResponseMessage Post(Model model)
{
   using(var dc = new DataContext())
   {
      dc.MyData.Add(model);
      dc.SaveChanges();
   }   
   //logic that requires the data to be saved first
   using(var dc = new DataContext())
   {
      dc.MyData.Find(model.ID); //this returns null, even tho in the DB I see my model get added to MyData
   }
}

第一个 using 语句保存到数据库中,但第二个using语句找不到新添加的数据。在或普通 MVC 控制器中,第二个 using 语句按预期工作。

是否有原因第二个using语句无法从 WebAPI 中找到MyData记录?

使用 WebAPI 中的新数据上下文找不到新添加的数据

ID 是在实体框架的后台生成的。可能您使用的 ID 为 0,因为您从参数中获取了它。

如果 Add 方法成功,上面的这条语句应该返回插入的最后一项,这就是你想要的:

using(var dc = new DataContext())
{
  var myModel = dc.MyData.Last();
}