我是linq的新手,我发现有很多不同的方法来构建查询。我想发布这个来显示我目前正在使用的代码并尝试解决两个问题。Linq到选项的XML动态排序
能够动态传递ASC /降序
一个。在某些情况下,我希望能够在不同的递增/递减顺序对各属性进行排序
能够通过参数
一中的顺序数动态传递。在下面的代码中,我为每个要订购的项目传递多个属性。显然,我宁愿传入一个集合,然后让代码根据该集合构建订单。我可以传入收藏集,但我不确定如何从该集合中构建订单。
b。我也认为排序类型会在某个时候发挥作用,所以我不确定我怎么能够知道如何动态投射?
感谢您的任何意见。
Private Function XMLSort(ByVal xOldDom As XmlDocument, ByVal sChildNodeName As String, ByVal sOrderByAttributeName1 As String, ByVal sOrderByAttributeName2 As String, ByVal sOrderByAttributeName3 As String) As IEnumerable(Of XElement)
Dim xOldDocument As New XDocument
xOldDocument = XDocument.Parse(xOldDom.OuterXml)
Dim oQuery As IEnumerable(Of XElement)
oQuery = From xNode In xOldDocument.Descendants(sChildNodeName) _
Order By CInt(xNode.Attribute(sOrderByAttributeName1)), CInt(xNode.Attribute(sOrderByAttributeName2)), CStr(xNode.Attribute(sOrderByAttributeName3)) _
Select xNode
Return oQuery
End Function
这个动态排序的原因究竟是什么?它只是你的程序的不同部分需要不同的排序?或者你是否从用户那里得到所需的分类?如果是这样的话,你或你可以从用户那里获得什么样的表单? – svick
应用程序的不同部分需要不同的排序。我使用第三方程序集来返回信息,并且需要根据需求对信息进行排序,然后将其发送到View。 – dwhittenburg