0

スキップを使用して IGrouping を実行しようとしていますが、グループ化されたキーをページングしたくありません。グループ化されたアイテムに対してページングを実行したいと考えています。

4

1 に答える 1

0

グループ化する前に、それらをページングできます。


この内容をメモリ内でページングするのは非常に簡単です。

var page =
 (
  from g in groups
  from item in g
  select item
 ).Skip(100).Take(20);

それはSQLにうまく変換されません-そのため、誰も答えていません。問題は、グループの要素を要求すると、linq To Sql がグループ キーでデータベースを再クエリして、それらの要素を取得することです。そのため、グループ化せずに並べてページングする方が良いです。

三項演算子を使用して、条件付き順序を実現できます。

var query = 
from c in Customers
order c by
  c.Name.StartsWith("B") ? 1 :
  c.Orders.Any() ? 2 :
  3,
  c.Name
select c;
于 2010-10-04T15:07:48.163 に答える