我需要一种方法来解析字符串作为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。我没有使用模型。
答案 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");