DAL に Customers のリストを返すメソッドがあります。
Collection<Customer> FindAllCustomers();
顧客には次の列があります: ID、名前、住所、経歴
これらの列のみを表示する ASPX フォーム (show-customers.aspx) のページ グリッドにそれらを表示する必要があります: ID、名前
今、私の DAL FindAllCustomers() で、SP から Bio フィールドも返しますか (リーダーを使用してコレクションに入力しています)。Bio フィールドは大きくなる場合があります (nvarchar(max))。遅延読み込みまたは必要なフィールドのみを読み込むことを考えていました。しかし、その場合、バイオを含む顧客の「完全な」リストを返す別のメソッドを作成して、サードパーティのアプリがサービスレイヤーを介して使用できるようにする必要があります。したがって、次のようなメソッドを作成しても問題ありません。
Collection<Customer> FindAllCustomers(bool loadPartial);
loadPartial = true の場合、Bio をロードせず、そうでない場合はロードします。この場合、SP から Bio を返したくないので、bool 値に基づいて SP に 2 つの select ステートメントを作成する必要があります。
ここで遅延読み込みを使用してもうまくいかないと思います.DALメソッドはサードパーティのアプリからアクセスでき、バイオも読み込みたいと思うかもしれません.
そのような場合に実装するための最良のパターンに関する提案はありますか?
ありがとう、
ヴィカス