0

我需要一种将字符串解析为 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。我没有使用模型。

4

1 回答 1

0

看看动态 LINQ,Scott Gu 在这里做了一篇很棒的文章http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-动态查询库.aspx

它使它变得如此简单

query = query.OrderBy(columnName);

或者

//orderby descending
query = query.OrderBy(columnName + " DESC");
于 2012-09-19T10:51:46.487 回答