C#-DataTable.Merge()是否添加重复项或更新?
我有两个数据表。1包含SqlServer表中的当前行,1包含要添加的新行 我想做一些类似的事情:C#-DataTable.Merge()是否添加重复项或更新?,c#,.net,sql-server,datatable,merge,C#,.net,Sql Server,Datatable,Merge,我有两个数据表。1包含SqlServer表中的当前行,1包含要添加的新行 我想做一些类似的事情: datatable1.Merge(datatable2); 我试图弄清楚,如果这两个表之间存在重复项,重复项会被添加到datatable1中,还是会更新datatable1中的值 我需要在datatable1中简单地更新重复项,并将非重复项添加到datatable1中 Iv搜索了MSDN,我真的找不到一个明确的答案。来自 将新的源DataTable合并到目标中时,DataRowState值为Unc
datatable1.Merge(datatable2);
我试图弄清楚,如果这两个表之间存在重复项,重复项会被添加到datatable1中,还是会更新datatable1中的值
我需要在datatable1中简单地更新重复项,并将非重复项添加到datatable1中
Iv搜索了MSDN,我真的找不到一个明确的答案。来自 将新的源DataTable合并到目标中时,DataRowState值为Unchanged、Modified或Deleted的任何源行都将与主键值相同的目标行相匹配。DataRowState值为Added的源行与主键值与新源行相同的新目标行相匹配
它将更新具有相同主键的任何行。主键由 将新的源DataTable合并到目标中时,DataRowState值为Unchanged、Modified或Deleted的任何源行都将与主键值相同的目标行相匹配。DataRowState值为Added的源行与主键值与新源行相同的新目标行相匹配
它将更新具有相同主键的任何行。如果
合并
包含以下段落,则主键由备注部分的属性设置
执行合并时,在合并操作期间,默认情况下,保留合并前对现有数据所做的更改。开发人员可以通过为此方法调用其他两个重载之一,并为preserveChanges参数指定一个假值来修改此行为
然而,这些节目
i、 e.它实际上调用另一个重载,并使用preserveChanges=false
看起来你应该得到想要的行为。但是如果您想绝对确定,只需显式地调用另一个,然后像这样传递preserveChanges=false
datatable1.Merge(datatable2, false);
如果
合并
包含以下段落,则备注部分
执行合并时,在合并操作期间,默认情况下,保留合并前对现有数据所做的更改。开发人员可以通过为此方法调用其他两个重载之一,并为preserveChanges参数指定一个假值来修改此行为
然而,这些节目
i、 e.它实际上调用另一个重载,并使用preserveChanges=false
看起来你应该得到想要的行为。但是如果您想绝对确定,只需显式地调用另一个,然后像这样传递preserveChanges=false
datatable1.Merge(datatable2, false);
你知道有很多关于如何在数据表中找到重复项的例子,你有没有在谷歌上搜索过。。。我会先检查副本,然后删除这些副本等。。如果仍然需要的话,合并你的数据。你知道有很多关于如何在数据表中找到重复项的例子。你有没有在谷歌上搜索过。。。我会先检查副本,然后删除这些副本等。。如果仍然需要,请合并数据。。