db.savechanges保存记录两次

时间:2018-11-16 18:16:03

标签: c# entity-framework-6 savechanges

我有以下每个陈述

foreach (var e in empList)
        {
            db.EmployeeForecasts.Add(e);
            db.SaveChanges();
        }

empList仅包含1条记录,但是db.SaveChanges()将记录在数据库中保存两次?

有人可以解释为什么会这样吗?我能做些什么? 谢谢!

2 个答案:

答案 0 :(得分:0)

您的数据库很可能已经拥有该实体。而不是使用添加,您应该查看

foreach (var e in empList)
        {
            db.EmployeeForecasts.Attach(e);
    }
db.SaveChanges();

答案 1 :(得分:0)

对不起,这是一个愚蠢的错误。我使用JQuery提交表单,但是我两次调用了控制器。因此很明显它将记录保存了两次。谢谢您的帮助。