我试图更新我的表Bareme
,但我得到关于我的唯一密钥(Categorie , Section)
的例外情况,但如此处所示,如果对象确实存在,则仅更新我的工资,并且我已通过“ DEBUG”,没有任何插入的对象都是复制实体框架不保存
内部异常说:
唯一键约束违反‘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);
}
当你做你的AddObhject()的所有行都会有相同的ID BRM 。这可以吗 ??? – GameAlchemist 2012-08-04 23:10:14
即使我更新了我的代码,但它不起作用即使我添加@SatDisk的SaveOptions.DetectChangesBeforeSave' – S3ddi9 2012-08-04 23:23:27