.NET DataTable to XML to SQL to DataTable

本文关键字:to DataTable SQL NET XML | 更新日期: 2023-09-27 18:22:00

我正试图在C#和SQL Server之间双向传递DataTable。我目前正在使用XML来促进这一点,但我很难用两种方式来反序列化XML(即在SQL Server中反序列化C#XML,在C#中反序列化SQL Server XML)。我目前正在使用以下过程在C#中创建XML:

var dt = new DataTable();
//Populate the DataTable...
var set = new DataSet();
set.Tables.Add(dt);
var sb = new StringBuilder();
using (var stringWriter = new StringWriter(sb))
{
  set.WriteXml(stringWriter);
}
string xml = sb.ToString();

然后我希望能够在SQL Server中解析这个XML。有没有一种方法可以自动将其解析为SQL Server中的DataTable(我想使用模式)?

.NET DataTable to XML to SQL to DataTable

自sql server 2008以来,您可以使用表值参数将数据表从.net传递到sql server
您必须在数据库中创建一个用户定义的表类型,并将参数作为只读参数传递给存储过程,如图所示。

要将数据表从sql server传递到.net,您可以使用.net的TableAdapter来执行select语句并填充DataTable对象,如这里所示。