0

테이블 Bareme을 업데이트하려고하지만 고유 키 (Categorie , Section)에 대한 예외가 발생하지만 개체가 존재하는 경우 여기에 표시된대로 내 월급 만 업데이트하고 " 삽입 된 객체의 어느 것도엔티티 프레임 워크가 저장되지 않음

내부 예외를 중복되지 않도록 DEBUG "는 말한다 : UNIQUE KEY 제약 조건의

위반 'IX_Bareme'. 'dbo.Bareme'개체에 중복 키를 삽입 할 수 없습니다. \ r \ n 문이 종료되었습니다.

코드 : 당신이) 당신의 AddObhject을 (수행 할 때

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); 
     } 
+0

모든 행은 동일한 ID의 BRM이있을 것이다 . 그 확인은 ??? – GameAlchemist

+0

내가 이렇게 내 코드를 업데이트하는 경우에도 그것이 내가 @ – S3ddi9

답변

2

DetectChangesBeforeSave

에 대한 SaveOptionsSaveChanges Method을 사용하십시오 예

db.Entities.SaveChanges(SaveOptions.DetectChangesBeforeSave); 
+0

의'SaveOptions.DetectChangesBeforeSave'를 추가 할 경우에도 작동하지 않습니다 SéddikLaraba 당신이 개체를 업데이트하는 동안 – S3ddi9

+0

를 작동하지 않았다 @HatSoft 죄송 – HatSoft

+0

'오류가 발생 거지 무엇을 제외하고, 자세한 내용은 내부 예외를 참조하십시오. 내부 예외는 질문에 작성되었습니다 – S3ddi9

관련 문제