Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.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# 是否将聚合表转换为xml,然后再转换为SQL Server表类型?_C#_Sql Server_Xml - Fatal编程技术网

C# 是否将聚合表转换为xml,然后再转换为SQL Server表类型?

C# 是否将聚合表转换为xml,然后再转换为SQL Server表类型?,c#,sql-server,xml,C#,Sql Server,Xml,在我的应用程序中,我有一种基于某些参数计算价格的方法。这些参数是实体上的属性。这个实体非常复杂,它由根实体和10+个子实体组成 我正在考虑将这些计算移动到存储过程中。因此,我想到了以下步骤: 创建与存储聚合的表相同的表类型 客户机反序列化XML中的聚合,并将此XML作为参数传递给存储过程 存储过程将XML序列化为表类型并处理这些类型 存储过程将更新的XML返回给客户端 我知道我可以将表转换为XML或从XML转换为XML,但是我可以将完整的聚合转换为XML或从XML转换为XML吗?如果您想将XML

在我的应用程序中,我有一种基于某些参数计算价格的方法。这些参数是实体上的属性。这个实体非常复杂,它由根实体和10+个子实体组成

我正在考虑将这些计算移动到存储过程中。因此,我想到了以下步骤:

创建与存储聚合的表相同的表类型

客户机反序列化XML中的聚合,并将此XML作为参数传递给存储过程

存储过程将XML序列化为表类型并处理这些类型

存储过程将更新的XML返回给客户端


我知道我可以将表转换为XML或从XML转换为XML,但是我可以将完整的聚合转换为XML或从XML转换为XML吗?

如果您想将XML传递给过程,您甚至不需要表类型。您只需要一个临时表或一个与基表具有相同结构的表变量。您也可以使用yes将数据作为数据集传递到sql server,但必须注意表与子项之间的链接。任何数据库都可以扁平化,所有表的所有列都连接到一个表中。然后会有很多空项,由于空项,表内存的总大小会比单个表的内存大。