所以我在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
记录?
ID 是在实体框架的后台生成的。可能您使用的 ID 为 0,因为您从参数中获取了它。
如果 Add 方法成功,上面的这条语句应该返回插入的最后一项,这就是你想要的:
using(var dc = new DataContext())
{
var myModel = dc.MyData.Last();
}