1

標準の OData クエリ構文を使用して実現できない複雑なクエリがあるため、エンティティ モデルでいくつかのデータベース ビューを公開します。これらのエンティティをサードパーティ アプリケーションに公開するために、WCF Data Services を使用しています。基本的に、EF レイヤーのエンティティを変更するフローがいくつかあります。データベース ビューを表すエンティティには、EF キャッシュを使用しており、データベースからデータを読み込んでいないため、ほとんどの実際のデータが含まれていないことに気付きました。データベース テーブルを表すエンティティは常に最新です。データベースビューを表すエンティティに最も実際のデータが含まれていることを確認するには、AFAIK a MergeOptions を NoTracking に設定する必要があります。その後、EF はデータベースでクエリを実行し、キャッシュされた値を忘れます。

今私の質問。サービス操作で利用可能な CurrentDataSource を MergeOptions と共に使用して、EF にキャッシュされたエンティティを忘れさせ、DB で毎回クエリを実行させることは可能ですか? または、EF クエリがキャッシュされたエンティティ値を使用するのではなく、代わりに RAW SQL を実行することを定義する方法について、他の可能性はありますか?

4

0 に答える 0