質問
しているsqlクエリーで持ち帰り大行数を介してDataReader.それかのクエリにデータベース変換の結果セットをリストアップのデータをバインドするグリッドの一覧です。
この結果がタイムアウトによりサイズのデータセットである。
私は現在、三teir設定が、UIの実情に応じた対応が必要であると、一覧のオブジェクト事業。
できるのにベストプラクティスをご提案アプローチの実施のための怠け者を増やす目標を揚げており、このscenatrio?やはりその他の実現にはこの綺麗に?
私は現在使用しVisual Studio2005年.純2.0
編集:はどのようにページングを使用するこのインスタンス?
解決
LINQ to SQLう意味でのまま利用可能です。
その場合は何らかの理由ではなく、使いたい商品例きます。純2.0)を考慮する反復子を読み取るの DataReader
に変換し、適切なオブジェクト:
IEnumerator<MyObject> ReadDataReader() {
while(reader.MoveNext())
yield return FetchObject(reader);
}
他のヒント
いち返らなければならなすべてのデータは一回しか出来ないのですか?きを考慮ページ欄に入力してください。
ページングが最良の解決策です。ご利用の場合はSQL Server2005年以上がった新機能を追加。 ROWNUMBER():
WITH MyThings AS
(
SELECT ThingID, DateEntered,
ROW_NUMBER() OVER (ORDER BY DateEntered) AS 'RowNumber'
FROM dbo.Things
)
SELECT *
FROM ThingDetails
WHERE RowNumber BETWEEN 50 AND 60;
があり 例 David Haydenはとてもわかりやすく、役に立ちを示すことで、SQL.
このメソッドの減少は、データの数を返還全体の負荷ます。ではうまいりますラベルを使ンケートを実施記録に、その価値は十分あります。
標準のページング技術が必要であるから帰ってきており、データベースにし、それに対するフィルタの中段または、クライアント層(コード-裏)このメソッドの記録により管理可能なサブセット.
所属していません StackOverflow