Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
LINQ差异OrderBy x.field降序与OrderBy降序(x=>;x.field)_Linq_Database Performance - Fatal编程技术网

LINQ差异OrderBy x.field降序与OrderBy降序(x=>;x.field)

LINQ差异OrderBy x.field降序与OrderBy降序(x=>;x.field),linq,database-performance,Linq,Database Performance,为了进行分页,我需要对查询列表进行排序,然后首先使用跳过nFrom的nSize元素 我想知道,从性能的角度来看,查询中的orderby子句的排序是否相同,如下所示 IList<Product> resul = ( from m in db.Products() where m.CategoryId==cId orderby m.Name descending select m ).Skip(nFrom).Take(nSize).ToList(); IList<

为了进行分页,我需要对查询列表进行排序,然后首先使用跳过nFrom的nSize元素

我想知道,从性能的角度来看,查询中的orderby子句的排序是否相同,如下所示

IList<Product> resul = (
  from m in db.Products()
  where m.CategoryId==cId
  orderby m.Name descending
  select m
).Skip(nFrom).Take(nSize).ToList();
IList<Product> resul = (
  from m in db.Products()
  where m.CategoryId==cId
  select m
).OrderByDescending(m=>m.Name).Skip(nFrom).Take(nSize).ToList();
IList结果=(
从db.Products()中的m开始
其中m.CategoryId==cId
orderby m.Name降序
选择m
).Skip(nFrom).Take(nSize.ToList();
或者像这样排序结果

IList<Product> resul = (
  from m in db.Products()
  where m.CategoryId==cId
  orderby m.Name descending
  select m
).Skip(nFrom).Take(nSize).ToList();
IList<Product> resul = (
  from m in db.Products()
  where m.CategoryId==cId
  select m
).OrderByDescending(m=>m.Name).Skip(nFrom).Take(nSize).ToList();
IList结果=(
从db.Products()中的m开始
其中m.CategoryId==cId
选择m
).OrderByDescending(m=>m.Name).Skip(nFrom).Take(nSize).ToList();

我想LINQ在这两种情况下都是一样的,但是我需要确保使用第二个选项,这样我才能参数化order字段。

两个查询都是相同的。我想,你也可以这样做:
IList resl=db.Products.Where(m=>m.CategoryId==cId)。OrderByDescending(m=>m.Name)。Skip(nFrom)。Take(nSize)。ToList()使用类似LINQPad的东西,您可以看到查询语法的lambda翻译。谢谢,我使用了LinkqPad并检查了它是否相同。请投票支持我的问题,这样其他任何用户都会发现它更简单。