【问题标题】:Orderby Linq error when parse in a value解析值时Orderby Linq错误
【发布时间】:2012-09-11 15:36:30
【问题描述】:

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

【问题讨论】:

  • 这里的sort是什么意思?
  • 它是一个来自下拉列表的字符串。所以数据应该按照它进行排序。它具有来自数据库的值。前任。车辆表中的daily_hire_rate
  • 你需要使用动态linq。您只需将类添加到您的项目和命名空间的 using 语句。
  • 我在哪里可以获得这些课程?你知道任何链接吗?我试图找到它,但找不到

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


【解决方案1】:

看看 Dynamic 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");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    • 2018-10-24
    • 2014-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多