EF Plusで正確にキャッシュされる内容の明確化


質問

私がサービス要求のテーブルを持っていて、それに次のコードを実行すると:

var serviceRequest = await _ctx.ServiceRequests.DeferredAny(t => t.Id == h.Id).FromCacheAsync("ServiceRequestByID");

これは、このクエリを保存すると同じですか?

SELECT * FROM ServiceRequests WHERE ID = 12345

それとも同じことですか?

SELECT * FROM ServicesRequests(次に、新しくキャッシュされたデータからID 12345を検索します)。

言い換えれば、上のコード行を使用することに関して、正確には何がキャッシュされていますか?新しいIDで後で戻ってくると、最初にIDのレコードだけが保存されたため、キャッシュを照会するかデータベースに移動しますか?

受け入れられた回答

結果はキャッシュされます。

あなたの場合、ブール値の結果はキャッシュされ、エンティティはキャッシュされません。

別のIDでクエリを実行すると、データベースにクエリが実行され、結果と他の結果がキャッシュされます





ライセンスを受けた: CC-BY-SA
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ