データ グリッドにアーキテクチャ上の問題があります。グリッドは、上記のすべてのパラメーターを含む linq2entity クエリを使用した検索、ページング、および並べ替えをサポートしています。
一部のページでは、グリッドはデータベースからのコンテンツ (列「名前」など) を表示するのではなく、リソース プロバイダーによってロードされた翻訳済みのリソースを表示する必要があります。
当社のリソース プロバイダーは、データベースから翻訳を取得し、アプリケーション キャッシュにキャッシュして、データベースへの不要なトリップを回避します。
この時点で、次の可能性があります。
- データベースで検索、並べ替え、ページングを行わないため、すべての行を読み込み、リソース プロバイダーから翻訳を読み込み、アプリケーションで検索、並べ替え、ページングを行います。
データベースが非常に大きいため、パフォーマンスが悪い - データベースで検索、並べ替え、ページングを行い、結果のリソースを読み込みます。
表示される値は、検索および並べ替えの構成と一致しません - linq クエリ内でデータベースからリソースを直接取得します。
リソース プロバイダーのキャッシュは使用できません。リソース プロバイダー テキストとの結合は非常に悪く、遅くなります。
すべての可能性は非常に悪いですが、別の解決策は考えられません。良い提案はありますか?これらの問題は、他のソフトウェアではどのように解決されていますか?