Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#-DataTable.Merge()是否添加重复项或更新?_C#_.net_Sql Server_Datatable_Merge - Fatal编程技术网

C#-DataTable.Merge()是否添加重复项或更新?

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

我有两个数据表。1包含SqlServer表中的当前行,1包含要添加的新行

我想做一些类似的事情:

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);

你知道有很多关于如何在数据表中找到重复项的例子,你有没有在谷歌上搜索过。。。我会先检查副本,然后删除这些副本等。。如果仍然需要的话,合并你的数据。你知道有很多关于如何在数据表中找到重复项的例子。你有没有在谷歌上搜索过。。。我会先检查副本,然后删除这些副本等。。如果仍然需要,请合并数据。。