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

entity-framework entity-framework-extensions entity-framework-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 with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ