2016-11-30 6 views
1

NPoco를 사용하여 저장 프로 시저를 쿼리하고 전화 번호 목록을 검색하려고합니다. 아래는 내 코드이지만 내 문제는 dc.QueryStoredProcedure가 호출 될 때마다 'System.ArgumentException : 동일한 키를 가진 항목이 이미 추가되었습니다.'오류가 발생합니다.NPOCO 'System.ArgumentException : 동일한 키를 가진 항목이 이미 추가되었습니다.'

나는 sprocs를 실패없이 실행했습니다. Google을 시도했지만 Npoco 및이 오류 메시지와 관련된 내용을 찾을 수 없습니다. 나는이 시점에서 난처한 상황에 처해있다. 나는 PhoneNumber 객체를 검사하여 중복 된 것이 없다는 것을 확인했습니다.

모든 포인터가 크게 감사하겠습니다! 고맙습니다.

private List<PhoneNumber> GetPhoneNumberFromDL(int? MemberID, int? MemberIDPhoneNumber) 
    { 
     var TheList = new List<PhoneNumber>(); 

     var parameters = new[] 
      { 
       new Parameter("MemberID", MemberID), 
       new Parameter("MemberIDPhoneNumber", MemberIDPhoneNumber) 

      }; 


     using (var dc = this._DataProvider.AlphaDatabase()) 

      { 
       var results = dc.QueryStoredProcedure<PhoneNumber>("phone_num_GET", parameters); 

       TheList.AddRange(results); 

       return TheList; 
      } 
    } 
+0

저장 프로 시저를 검사하면 중복 행을 반환 할 가능성이 있습니다. – Rikalous

+0

그건 분명히 할 수 있지만이 행은 1 행만 반환했습니다. PhoneNumber 객체에 중복 속성이 있습니다. 나는 이걸 보았다고 생각했지만 잠이 없다고 생각 했어. 당신의 응답을 주셔서 감사합니다! – LewisW

답변

1

문제점을 발견했습니다. 이전에 보았던 것으로 생각했지만 중복 속성을 놓친 PhoneNumber 객체 위로 돌아갔습니다. 대소 문자 구분과 6 년 전 재산 명과 관련된 문제가 있었던 것으로 보입니다. 중복을 제거했는데 정상적으로 작동합니다.