考虑以下情况。
您有一个允许进行某些调用的存储库。这些调用使用LINQ并且在返回的数据量方面可能相对昂贵。
考虑到我的情况,如果数据过时也不会太糟糕 - 可以实现缓存,以便不必每次调用都执行大型和昂贵的查询。嘿,我们甚至可以实现一些缓存策略,根据时间或使用情况确定何时再次执行该查询。
我试图理解的问题是如何在缓存中对其进行键入。一种方法是简单地说:
您有一个允许进行某些调用的存储库。这些调用使用LINQ并且在返回的数据量方面可能相对昂贵。
考虑到我的情况,如果数据过时也不会太糟糕 - 可以实现缓存,以便不必每次调用都执行大型和昂贵的查询。嘿,我们甚至可以实现一些缓存策略,根据时间或使用情况确定何时再次执行该查询。
我试图理解的问题是如何在缓存中对其进行键入。一种方法是简单地说:
"querytype1" = Particular LINQ expression
"querytype2" = Particular LINQ expression
然后,通过一个简单的字符串来缓存密钥。但是,考虑到我们正在使用LINQ,我们是否可以用LINQ表达式本身作为缓存密钥呢?我明白这可能会影响性能,但有没有办法比较两个LINQ表达式是否相同?