NPOCO'System.ArgumentException:具有相同密钥的项目已被添加。'
问题描述:
我正在尝试使用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;
}
}
答
我发现了这个问题。我回过头来看看PhoneNumber对象,我认为这是我以前看过的,但错过了重复的属性。看起来在6年前,区分大小写和属性名称存在问题。我删除了重复,它工作正常。
检查您的存储过程 - 它可能会返回重复的行。 – Rikalous
这肯定会做到,但这一行只返回1行。 PhoneNumber对象中找到了重复的属性。我以为我看过这个,但我觉得睡眠不足让我受不了。感谢您的答复! – LewisW