.NET DataTable到XML到SQL到DataTable

时间:2015-11-16 08:01:58

标签: c# sql-server xml datatable

我正试图在两种方式之间传递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(使用我认为的模式)?

1 个答案:

答案 0 :(得分:0)

从sql server 2008开始,您可以使用表值参数将数据表from .net传递给sql server
您必须在数据库中创建用户定义的表类型,并将参数作为readonly传递给存储过程,如演示herethere

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