2014-06-16 25 views
0

我想使用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() 

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

+0

可能重复://计算器.COM /问题/ 41244 /动态LINQ的排序依据-ON-ienumerablet) –

回答

0

我认为这个前面的问题可能会解决您的问题。

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

如果使用马克的ApplyOrder实现,那么你就可以这样做:

_availableActions = (From x In _Context.Actions Where x.dateDay >= datestart).OrderBy(sortExp).ToList() 
的[动态LINQ的OrderBy上的IEnumerable ](HTTP