1

linq クエリの使用中に問題に直面しています。proc を使用してデータベースから約 600000 レコードを取得しています。すべての入力について、LINQ でフィルタリングしています。LINQ クエリでフィルター処理した後、データ行の順序が同じではありません。誰もこの問題に直面したことがありますか?

ありがとう、

4

2 に答える 2

2

LINQ クエリでフィルター処理した後、データ行の順序が同じではありません。

ほとんどの LINQ 演算子は順序付けを保証しません。確実な順序付けが必要な場合は、 を使用OrderByして、適切な列でクエリ結果を明確に順序付けする必要があります。

于 2012-05-17T16:19:39.487 に答える
0

順序を指定せず、データベースに複数のプロセッサがある場合、呼び出し間で順序が一貫しているという保証はありません。

データを順序付けしない場合、データベース エンジンは要求を複数のスレッドに送信し、各スレッドで処理される結果を集計するだけです。サーバーがスレッドを同時に処理できる場合、その順序は不確定になります。

良い面としては、可能な限り迅速にデータを取得していることがわかります。

編集

Linq の実装についても同様です。順序が指定されていない場合、フレームワークは正しい結果を列挙する方法で自由にステートメントを実行できます。

于 2012-05-17T16:15:33.680 に答える