C# 将数据从Xml复制到sql server数据库中的表中,避免重复

C# 将数据从Xml复制到sql server数据库中的表中,避免重复,c#,xml,sql-server-2008,C#,Xml,Sql Server 2008,我试图将数据从XML复制到我的数据库表中,但我得到了一种最好的方法,即: using SqlBulkCopy 但我无法完成我的任务。我需要将数据从XML复制到SQL数据库,以避免表中的重复。若存在相同的数据,请不要复制它,若有新数据,请插入并更新它,然后在表中进行更新 非常感谢您的帮助。您可以定义数据表,并将所有列设置为PrimaryKey,如下所示: DataTable dt = new DataTable(); dt.Columns.AddR

我试图将数据从XML复制到我的数据库表中,但我得到了一种最好的方法,即:

using SqlBulkCopy
但我无法完成我的任务。我需要将数据从XML复制到SQL数据库,以避免表中的重复。若存在相同的数据,请不要复制它,若有新数据,请插入并更新它,然后在表中进行更新


非常感谢您的帮助。

您可以定义
数据表
,并将所有列设置为
PrimaryKey
,如下所示:

            DataTable dt = new DataTable();
            dt.Columns.AddRange(new DataColumn[]{
                new DataColumn("Column1"),
                new DataColumn("Column2"),
                new DataColumn("Column3")});

            dt.PrimaryKey = new DataColumn[] { dt.Columns[0], dt.Columns[1], dt.Columns[2] };

            // Load your data from XML file.

            try
            {
                //dt.Rows.Add(new DataRow)
            }
            catch (Exception ex)
            {

            }
// BulkCopy Code here.
您必须加载XML文件并为数据表结构做好准备,然后向表中添加新行。将重复行添加到表中时,发生异常,但您应该将其保留

祝你好运