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

Mar*_*tin 2 linq linq-to-sql

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

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

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

Eri*_*ing 9

这当然是一种可行的动态排序方式.Ch00k提供了另一种选择他的回答这个问题,关于"强类型的动态Linq的排序".我个人更喜欢Ch00k的方法,因为涉及一些编译时检查,并且涉及的代码非常少.