Sql server 2005 CLR存储过程:SqlContext.Pipe.SendResultsStart/SendResultsRow/SendResultsEnd的替代方案?
关于同一主题的前一个相关问题。 在CLR存储过程中,我构建了一组对象,这些对象表示经过复杂筛选后的数据集。 然后,使用SqlContext.Pipe.SendResultsStart/SendResultsRow/SendResultsEnd循环在结果集中“转换”此集合并传递 尽管这是它应该工作的,但由于循环等原因,它感觉不是最优的。 有没有更好的替代方案,比如说,动态地将集合转换为SQL结果集Sql server 2005 CLR存储过程:SqlContext.Pipe.SendResultsStart/SendResultsRow/SendResultsEnd的替代方案?,sql-server-2005,stored-procedures,clr,Sql Server 2005,Stored Procedures,Clr,关于同一主题的前一个相关问题。 在CLR存储过程中,我构建了一组对象,这些对象表示经过复杂筛选后的数据集。 然后,使用SqlContext.Pipe.SendResultsStart/SendResultsRow/SendResultsEnd循环在结果集中“转换”此集合并传递 尽管这是它应该工作的,但由于循环等原因,它感觉不是最优的。 有没有更好的替代方案,比如说,动态地将集合转换为SQL结果集 提前感谢。更好的选择是将集合组织到xml文档中(您可以通过.NET库轻松完成),然后可以使用sql节
提前感谢。更好的选择是将集合组织到xml文档中(您可以通过.NET库轻松完成),然后可以使用sql节点xml方法解析xml文档以返回结果集。可以使用LINQ库将集合转换为XML。设计的层次将根据上下文而变化。但是我发现这种方法非常有效。没有人?我希望在几天后找到一些答案,但看起来我没有那么幸运:-(有人在吗?:)我仍然在使用这种方法,它工作得很好,所以某种程度上还行。但是我觉得这不是一个干净的解决方案,我期待着听到其他的想法