2

プロジェクトで .NET 型のデータセットを使用しています。複数のテーブルからデータセットにデータをプリフェッチし、そのデータセットを複数のメソッドに渡して処理するという状況に陥ることがよくあります。各メソッドに必要なデータを正確に決定させてから、データ自体をロードする方がきれいに見えます。ただし、メソッドのいくつかは同じデータで機能するため、データを最初に 1 回だけロードするパフォーマンス上の利点が必要です。

私の問題は、依存関係を管理するために使用する良い方法やパターンがわからないことです (データセットを使用する各クラス/メソッドに必要なすべてのデータを確実にロードしたい)。現在、データセットを使用するさまざまなクラスのコードを調べて、すべてを適切にロードしていることを確認しています。

この状況で使用する適切なアプローチまたはパターンは何ですか? 私は根本的に間違ったことをしていますか?私は型指定されたデータセットを使用していますが、これはプリフェッチ データが使用される一般的な状況のようです。

ありがとう!

4

2 に答える 2

1

各クラスにデータ要件を追加し、データをプリフェッチしてからデータを処理する複合パターンに似たものを使用できます。

UsedClasses の各クラス

DataSet.AddRequirement(Class.Requirements)

DataSet.Prefetch

UsedClasses の各クラス

Class.Process(データセット)

于 2010-04-29T14:27:59.173 に答える
1

あなたが探している「パターン」は、おそらく遅延読み込みまたは遅延読み込みだと思います。型指定されたデータセットは、すべてのメソッドまたはクラスが必要とするすべての形式の構造を持つことができますが、データは、メソッド/クラスがデータの特定の部分にアクセスしようとするまで埋められません。

良い例は名前と住所です。名前のリストがあり、それらの名前のそれぞれに複数のアドレスがある場合があります。アドレスにアクセスする必要のないメソッド/クラスは、アドレスをロードしません。ただし、メソッドまたはクラスが特定の名前のアドレスにアクセスしようとすると、その名前のアドレスが読み込まれます。その後、その名前のアドレスを使用すると、データが既にロードされていることがわかります。

型指定されたデータセットでこれを実装することは、かなり手動のプロセスになります。(そして、型指定されたデータセットを扱うたびに、ますます嫌いになってしまいます。) この機能が組み込まれているので、LINQ to SQL を見たいと思うかもしれません。これが組み込まれている他の同様のフレームワークもあります。

于 2008-11-01T21:16:33.643 に答える