C# 在C中将XML数据作为列保存到数据库中#

C# 在C中将XML数据作为列保存到数据库中#,c#,xml,sql-server-2008,C#,Xml,Sql Server 2008,我正在编写一个C#应用程序来监视新创建的xml文件,我想将这些xml文件中的一些数据插入SQL数据库。一个文件是数据库中的一行 做这件事最好最简单的方法是什么 到目前为止,我所做的是用我想要的XML列定义一个DataTable。之后,我在数据集上使用ReadXML。这给了我一个数据集,其中有一个表和一行,以及我想要的列。到目前为止,它是完美的。但我找不到一个好方法,只能将这个新数据行插入我的MSSQL数据库。我还没有那一行的唯一ID。这会让事情变得更容易吗?我不想将我的数据集映射到数据库,我只做

我正在编写一个C#应用程序来监视新创建的xml文件,我想将这些xml文件中的一些数据插入SQL数据库。一个文件是数据库中的一行

做这件事最好最简单的方法是什么


到目前为止,我所做的是用我想要的XML列定义一个DataTable。之后,我在数据集上使用ReadXML。这给了我一个数据集,其中有一个表和一行,以及我想要的列。到目前为止,它是完美的。但我找不到一个好方法,只能将这个新数据行插入我的MSSQL数据库。我还没有那一行的唯一ID。这会让事情变得更容易吗?我不想将我的数据集映射到数据库,我只做了一个插入…

您可以这样做来获取ID:

    string query = "INSERT INTO Employees (EmployeeID, Name, Phone) "+
                   "OUTPUT INSERTED.EmployeeID "+
                   "VALUES (NEWID(), 'John Kris', '99-99999')";
    Guid lastId = (Guid)command.ExecuteScalar();

您所做的其他事情对我来说都没问题。

我使用LINQ to SQL解决了这个问题。我将其设置为如下所述: .
在我使用的数据上下文上

->->首先。然后
“将值(@Field1Value,@Field2Value…)插入[表]([Field1],[Field2]…)中”
。设置参数值,并使用
SqlCommand
执行查询
,但您以后可能无法设置唯一列。您是说,如果不从头开始创建Insert语句,我无法将数据表直接保存到数据库中?就我所知,您必须以某种方式将值从一个数据源(xml)映射到另一个数据源(db)。无论是在代码中还是在sql语句中。