【问题标题】:NPOCO 'System.ArgumentException: An item with the same key has already been added.'NPOCO 'System.ArgumentException:已添加具有相同键的项目。'
【发布时间】:2017-04-15 09:53:37
【问题描述】:

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

我已经成功地执行了存储过程。我尝试了谷歌,但找不到任何关于 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;
            }
    }

【问题讨论】:

  • 检查您的存储过程 - 它可能返回重复的行。
  • 肯定会这样做,但这一行只返回 1 行。我在 PhoneNumber 对象中发现了一个重复的属性。我以为我已经看过了,但我认为睡眠不足让我感到厌烦。感谢您的回复!

标签: c# .net orm npoco


【解决方案1】:

我发现了问题。我回顾了我的 PhoneNumber 对象,我以为我以前看过它,但错过了一个重复的属性。 6 年前似乎存在区分大小写和属性名称的问题。我删除了副本,它工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多