解析值时,Linq错误

时间:2012-09-19 10:24:27

标签: c# linq dynamic sql-order-by

我需要一种方法来解析字符串作为linq语句中orderby的变量。 这是我的代码:

var s = db.Vehicles.Where(c=>c.Model.body_style==b)
          .Select(u=> new{
                     u.Manufacturer.manufacturer_name, 
                     u.model_code, 
                     u.daily_hire_rate
            })
          .Distinct()
          .OrderBy(sort);

它给了我错误: 无法从用法中推断出方法'System.Linq.Enumerable.OrderBy(System.Collections.Generic.IEnumerable,System.Func)'的类型参数。尝试显式指定类型参数。

我听说过动态表达式api。但我不知道如何使用它。我在vs2010中使用mvc2。我没有使用模型。

1 个答案:

答案 0 :(得分:0)

看看动态LINQ,Scott Gu在这里发表了一篇很棒的帖子http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

它让它变得如此简单

query = query.OrderBy(columnName);

//orderby descending
query = query.OrderBy(columnName + " DESC");