Linq-to-SQL を使用して、データをプリフェッチしたいと思います。
1) 一般的な解決策はDataLoadOptionsを処理することですが、私のアーキテクチャでは次の理由で機能しません。
- オプションは最初のクエリの前に設定する必要があります
- IOC を使用しているため、DataContext を直接インスタンス化していません (インスタンス化時にコードを実行することはできません)。
- 私の DataContext は、Web リクエストの間永続的です
2)データとその子をメソッドにロードし、データのみを返すことに基づく別の可能性を見てきました(したがって、子はすでにロードされています)ここで例を参照してください
それにもかかわらず、私のアーキテクチャでは、それは機能しません:
- クエリはリポジトリからカスケードされ、句を追加する多くのサービスで使用できます
- 私はインターフェイスを操作します.linq-to-sqlオブジェクトの具体的なインスタンスはリポジトリを離れません(はい、インターフェイスを操作して句を追加できます)
- 私のリポジトリは一般的です
はい、このアーキテクチャはかなり複雑ですが、レゴのようにコードをいじることができるのでとてもクールです ;)
私の質問は:データをプリフェッチする他の可能性は何ですか?