私はファイル ストレージ アプリケーションを開発しており、データベースに FileStream タイプを組み込みました。システムは大きなファイルをサポートすることが期待されています。アプリケーションの一部では、複数のドキュメントを一括アップロードできます。これらのドキュメントは、システム内の他のエンティティにリンクする必要があります。
1 つのページは、リンクされていないドキュメントを表示するように設計されており、ユーザーはドキュメントを一度に 1 つずつエンティティにリンクできます。アップロード プロセスの負荷テストを行った後、このリンクされていないドキュメント ページを読み込むと、ASP.NET ワーカー プロセスのメモリ フットプリントが 1 GB を超えることがわかりました。
調査の結果、Entity Framework は、リンクされていない数百のドキュメントのドキュメント行エンティティ全体 (バイト配列に変換された FileStream を含む) を読み込んでいるようです。私のリポジトリ クラスでは、Model に変換するときにこのバイト配列を保存しませんが、それでは手遅れです。EF は、時間とメモリを費やして、バイト配列を Repository クラス表現に割り当てました。
明示的に要求しない限り、このバイト配列をロードしないように EF に指示する方法はありますか?