gpt4 book ai didi

c# - 关于PrimaryKey的DataTable神秘ConstraintException

转载 作者:太空宇宙 更新时间:2023-11-03 13:41:25 25 4
gpt4 key购买 nike

我正在使用 DataTable 用翻译词典中的数据填充 GridView - 字面意思是 Dictionary<string, string>使用以下代码:

var dt = new DataTable();
dt.Columns.Add("key", typeof(string));
dt.Columns.Add("value", typeof(string));
dt.PrimaryKey = new DataColumn[] { dt.Columns[0] };
foreach(var key in localizer.Keys)
{
var row = dt.NewRow();
row[0] = key;
row[1] = localizer[key];
dt.Rows.Add(row); // this line throws an error even though identifiers are ascii
// and contain no spaces
}

我尝试在循环后创建主键约束,但随后它抛出另一个异常,指出该列包含不唯一的值。它停止的值是 "evalDate"还有另外两个相似的键 "evalDateStart""evalDateEnd"但没有一个是相同的 - 这是合乎逻辑的,因为它们是从字典中读取的。

最佳答案

实际上,通过仔细研究,我找到了拼图缺失的那一 block 。字典以区分大小写的方式按值比较字符串,但 DataTable 对象以不区分大小写的方式按值比较字符串。
触发器是一个误用的资源键,它全部是小写,导致键“evaldate”和“evalDate”都出现在字典中。它还解释了为什么异常是不稳定的,只有当我们在测试期间访问某个页面时才会发生这种情况。

关于c# - 关于PrimaryKey的DataTable神秘ConstraintException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16843071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com