使用linq查询按字符串(作为列名称)排序

时间:2014-06-16 15:07:27

标签: asp.net linq

我想用Linq查询如下:

Public Sub sortquery(ByVal sortExp As String, ByVal sortDir As String)

Dim datestart As DateTime = Convert.ToDateTime("01/01/2014")

_availableActions = (From x In _Context.Actions Where x.dateDay >= datestart Order By sortExp).ToList()

问题在于Order By sortExp。 sortExp以字符串形式传入。该字符串实际上是一个实际的列名,但只是被调用到sub中。我只是不确定如何使用字符串(或如何将字符串转换为相应的列名称)进行排序。

1 个答案:

答案 0 :(得分:0)

我认为之前的问题可能会解决您的问题。

https://stackoverflow.com/a/233505/1720848

如果您使用Marc的ApplyOrder实现,那么您将能够执行以下操作:

 _availableActions = (From x In _Context.Actions Where x.dateDay >= datestart).OrderBy(sortExp).ToList()