2010-11-30 14 views
3

Linq to SQLでこれを行うことはできますか?COUNT(1)OVER()とLinqとSql

select top 10 count(1) over(), * from product 

今日は2選択し、1ページを選択するためにカウントし、別の操作を行います。

  • select count(1) from product
  • select top 10 * from product

count(1) over()との選択が戻り総以来はるかに優れているがページを一緒に数える。私は、クエリをプロファイリングし、count(1) over()はこのようなものについてはどのように元

答えて

2

に任意のミリ秒を追加していけないパット:

ctx.Products.Take(10).Select(p => new {Total = ctx.Products.Count, Product = p}) 
+0

あなたはOPのと同じ結果を得るためにどこかに ''(10)を取るが必要になることがありますSQL –

+0

はい、私はTakeを忘れています - あなたは正しい - 悪い答えを編集します –

+0

私は試しましたが、Countを実行してからSelect –