2012-04-30 2 views
0

내 테이블에 두 개의 ID 필드가 있습니다 (이유는 두 가지 ID를 입력하지 않아서 이유를 묻지 않습니다). 하나는 기본 키이고 다른 하나는 기본 키 자체의 값을 포함 할 Nullable 중복 필드입니다.LINQ를 사용하여 열 업데이트

public static void UpdateDuplicate_ID(Company updatingCompany) 
     { 
      Company tempCompany; 

      using (var context = new TestLiveDataContext()) 
      { 
       tempCompany = (from company in context.Companies 
          where company.Id == updatingCompany.Id 
          select company).FirstOrDefault(); 

       tempCompany.DuplicateId = updatingCompany.DuplicateId; 

       context.SubmitChanges(); 
      } 
     } 

위의 코드가 작동하지 않는 것 같습니다. 중복 ID를 기본 키 값으로 업데이트 할 수 없습니다. 아무 것도 여기에 실종 됐는지 말해 줄 수 있니?

+1

작동하지 않는 것을 어떻게 알 수 있습니까? 너는 어떻게 지내니? – KingCronus

+0

데이터베이스에서 업데이트 된 ID를 확인하십시오 ... – Joshua

+0

실제로 할당 된 값이 올바른지 확인하기 위해 할당에 중단 점을 넣었습니까? 관심이없는 방법의 요점은 무엇입니까? duplicateId가 이드와 항상 같아야한다면 이것을 강화하는 훨씬 더 좋은 방법이있다. – KingCronus

답변

1

내가 알 수있는 것처럼 updatingCompanytempCompany은 같은 레코드로 보입니다.

이 경우 나중에 전달 된 값을 변경하고 다시 저장하면이 메서드 외부의 가능성을 덮어 쓸 수 있습니다.

질문을 하시겠습니까? updatingCompany의 값을 변경 한 다음 변경 사항을 새 컨텍스트에서 제출하는 것이 어떻습니까?

문제를 오해하지 않는 한.

관련 문제