Vb.net linq中的后期绑定

Vb.net linq中的后期绑定,vb.net,linq,linq-to-sql,Vb.net,Linq,Linq To Sql,我有一个针对集合的简单LINQ查询 Dim oList = From w In Os Order By w.ClassTitle Descending Select w 我希望能够做到的是,无论是下降还是上升,都能进入这个过程。我不知道该怎么做 还有,如果这里有where子句。。说 where w.ClassTitle = "Test" 如何进行“测试”,以便将其传递到LINQ查询中 谢谢 香农使用委托语法 Dim oList = Os.

我有一个针对集合的简单LINQ查询

   Dim oList = From w In Os
                Order By w.ClassTitle Descending
        Select w
我希望能够做到的是,无论是下降还是上升,都能进入这个过程。我不知道该怎么做

还有,如果这里有where子句。。说

where w.ClassTitle = "Test"
如何进行“测试”,以便将其传递到LINQ查询中

谢谢
香农

使用委托语法

Dim oList = Os.Where(....).OrderBy(...)...

我不认为你可以把这个“输入”这个查询,但是你可以做常规查询

var oList = from w in Os
            select w
然后,当用户采取某些行动时,您只需在该事实发生后执行命令即可

oList.OrderBy(o => o.ClassTitle)

更新:

至于后期绑定,您可以编写一个执行Where子句的方法。也许使用扩展方法可以工作。我更熟悉C,所以我的语法可能有点不正确

public static IEnumerable<Os> ExecuteWhere (this Table<Os> table, Expression<Func<Os, bool>> predicate)
{
    return table.AsQueryable<Os>().Where(predicate);
}

虽然我同意使用扩展方法而不是Linq语法可以使这类问题更清楚,但我认为您并没有真正解决他的问题。因为查询必须选择使用OrderBy还是OrderByDescending,这可能无法解决问题。我已经看到,基本上他在代码语法方面存在问题,使用这种语法更清楚,更容易理解,他会自己解决。这对排序有效。现在尝试找出NetSides进行后期绑定的方法,我想知道您是否可以进一步解释一下。在vb中,我需要使用olist.orderby(函数(o)o.classtitle)为了更好地理解这一点,我正在搜索函数部分的含义。但是运气不太好。我希望能更好地理解它的含义。谢谢Shannon,没关系。我想我找到了答案。键入:System.Func(来自TSource,TKey)一个从元素中提取一个键的函数…是的,这应该得到你想要的。在VB中,语法看起来非常不同,我明白你为什么会感到困惑。
public static IEnumerable<Os> ExecuteWhere (this Table<Os> table, Expression<Func<Os, bool>> predicate)
{
    return table.AsQueryable<Os>().Where(predicate);
}
oList.ExecuteWhere(a => a.ClassTitle == "Test")