我面临着一个奇怪的问题。
如果我从_context.SaveChanges()
方法中移除addUpdateStudentDetails()
而没有保存任何内容,而我希望保存,因为我的调用方法中有_context.SaveChanges()
语句,即update()
。
对吗?或者还有其他原因造成这种情况?
但是,如果我在我的被叫方法中保留_context.SaveChanges()
,而不是在数据库中成功保存添加/或修改后的信息。
public void update(StudentReport report)
{
addUpdateStudentDetails(report);
_context.Entry(original).CurrentValues.SetValues(report);
_context.SaveChanges();
}
private void addUpdateStudentDetails(StudentReport report)
{
using (var context = new DBContext())
{
if (student != null)
context.Entry(orignal).State = EntityState.Modified;
else
context.Student.Add(orignal);
context.SaveChanges();
}
}
答案 0 :(得分:3)
addUpdateStudentDetails已经处理了上下文。调用SaveChanges是在字段上执行的,而不是在同一个上下文变量上执行。