相关疑难解决方法(0)

IEnumerable <T>/IQueryable <T>上的动态LINQ OrderBy

我在动态LINQ 的VS2008示例中找到了一个示例,它允许您使用类似sql的字符串(例如,OrderBy("Name, Age DESC"))用于排序.不幸的是,包含的方法仅适用于IQueryable<T>;.有没有办法获得此功能IEnumerable<T>

c# linq linq-to-objects

657
推荐指数
12
解决办法
26万
查看次数

使用LINQ进行动态排序

我有一组CLR对象.该对象的类定义有三个属性:FirstName,LastName,BirthDate.

我有一个字符串,反映了集合应该排序的属性的名称.另外,我有一个排序方向.如何将此排序信息动态应用于我的收藏?请注意,排序可以是多层的,因此我可以按LastName排序,然后按FirstName排序.

目前,我正在尝试以下运气:

var results = myCollection.OrderBy(sortProperty);
Run Code Online (Sandbox Code Playgroud)

但是,我收到的消息是:

...不包含'OrderBy'的定义,并且最好的扩展方法重载......有一些无效的参数.

linq

7
推荐指数
3
解决办法
4640
查看次数

Linq to Sql - 存储库模式 - 动态OrderBy

好的,我找到了这个,这将允许我这样做:

public IList<Item> GetItems(string orderbyColumn)
{
    return _repository.GetItems().OrderBy(orderByColumn).ToList();
}
Run Code Online (Sandbox Code Playgroud)

这是进行"动态"排序的最佳方式吗?我希望能够将列名作为字符串(和排序方向)传递给我的服务,并让它以正确的方式排序.

linq linq-to-sql

2
推荐指数
1
解决办法
3117
查看次数

标签 统计

linq ×3

c# ×1

linq-to-objects ×1

linq-to-sql ×1