1
让我们假设我有以下简单的查询如何在运行时在linq查询中指定排序字段和方向?
var q =
from p in products
orderby p.ProductName descending
select p;
什么会在运行时指定的排序字段和方向,最简单,最直接的方法是什么?
让我们假设我有以下简单的查询如何在运行时在linq查询中指定排序字段和方向?
var q =
from p in products
orderby p.ProductName descending
select p;
什么会在运行时指定的排序字段和方向,最简单,最直接的方法是什么?
我们之前使用过动态linq库来做到这一点。 Here's a link到Scott Guthrie的博客,他描述了它。
基本上你可以改变上面的查询看起来像这样:
var q = db.Products
.OrderBy("ProductName Descending")
我与switch语句做到了。这里是一个片段,我正在向上行进。在我的网址中,我传入了一个参数来确定方向,以及排序方式。
if (sortDirection == "asc")
{
switch (sortCol)
{
case 1:
q = from f in q
orderby f.Id ascending
select f;
q显然是原LINQ选择的结果。
它的工作!有点让我想起SubSonic。我不喜欢它的是它只扩展IQueryable,所以为了使用它,我将不得不在我的集合上运行.AsQueryable()。 – adolfojp 2009-05-18 13:27:32