2016-11-30 107 views
1

我正在尝试使用NPoco查询存储过程并检索电话号码列表。下面是我的代码,但我的问题是每次调用dc.QueryStoredProcedure时,都会收到一个错误'System.ArgumentException:具有相同键的项目已被添加。'NPOCO'System.ArgumentException:具有相同密钥的项目已被添加。'

我已经执行了sprocs而没有失败。我尝试过谷歌,但我无法找到任何有关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年前,区分大小写和属性名称存在问题。我删除了重复,它工作正常。

相关问题