0

我正在尝试更新我的表,Bareme但我的唯一键出现异常 (Categorie , Section),但如这里所示,如果对象确实存在,则仅更新我的薪水,并且我已通过“DEBUG”验证插入的对象均不重复

内部异常说:

违反 UNIQUE KEY 约束“IX_Bareme”。无法在对象“dbo.Bareme”中插入重复键。\r\n语句已终止。

代码:

for (int i = 1; i <= sl_cat.Value; i++)
            for (int j = 1; j <= sl_sec.Value; j++)
            {

                Bareme brm = db.Entities.Baremes.Select(X => X).Where(X => X.Section == j && X.Categorie == i).FirstOrDefault();
                if (brm != null)
                    db.Entities.Baremes.DeleteObject(brm);

                brm = new Bareme();
                brm.Categorie = i;
                brm.Section = j;
                brm.Salaire = dt.Rows[j - 1][i.ToString()].ToString().ToDecimal();
                db.Entities.Baremes.AddObject(brm);
            }

        try
        {
            db.Entities.SaveChanges();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
4

1 回答 1

2

请使用SaveChanges Methodwith SaveOptionsforDetectChangesBeforeSave

例子

db.Entities.SaveChanges(SaveOptions.DetectChangesBeforeSave);
于 2012-08-04T23:15:23.213 回答