C# 如何使用LINQ缓存查询结果?

C# 如何使用LINQ缓存查询结果?,c#,linq-to-sql,caching,C#,Linq To Sql,Caching,通过查看以前传递的参数并绕过数据库,有没有办法缓存LINQ到SQL查询 我知道L2S缓存了一些数据库调用,但我正在寻找一个永久的解决方案,如中所示,即使应用程序重新启动,该缓存也会重新加载,并且不再询问数据库 是否有C语言的框架?Linq to SQL并不是专门为此而设计的,上下文实际上是为了有一个很短的生命周期,而不是很长的生命周期。如果您想缓存一些特定的查询,我建议使用不同的介质,而不是实际依赖上下文本身 这里有一个选项来了解我的意思: 可选的是,如果有几件事你只需访问很少改变的话,考虑只需

通过查看以前传递的参数并绕过数据库,有没有办法缓存LINQ到SQL查询

我知道L2S缓存了一些数据库调用,但我正在寻找一个永久的解决方案,如中所示,即使应用程序重新启动,该缓存也会重新加载,并且不再询问数据库


是否有C语言的框架?

Linq to SQL并不是专门为此而设计的,上下文实际上是为了有一个很短的生命周期,而不是很长的生命周期。如果您想缓存一些特定的查询,我建议使用不同的介质,而不是实际依赖上下文本身

这里有一个选项来了解我的意思:


可选的是,如果有几件事你只需访问很少改变的话,考虑只需缓存一个列表或其他形式的结果,并在需要时强制重新缓存。

LINQtoto SQL并不是真正为这个设计的,上下文实际上是要有一个短的寿命,而不是一个长的。如果您想缓存一些特定的查询,我建议使用不同的介质,而不是实际依赖上下文本身

这里有一个选项来了解我的意思:


可选的是,如果有一些事情你只需访问很少的改变,考虑只需缓存一个列表或其他形式的结果,并在需要时强制重新缓存。

< P>当你说你希望结果跨应用程序缓存时,重新启动,听起来你有一个想法,你想保留一个结果缓存,以防你失去网络连接。如果确实是这样,请看一看,它正是这样做的。它还允许您更改缓存的数据,当客户端重新连接时,传输数据并解决任何冲突。由于它通常通过使用SQL Server Compact将缓存持久化到磁盘,因此它将在应用程序重新启动甚至计算机重新启动后仍然有效。

当您说希望在应用程序重新启动时缓存结果时,听起来您有一种想法,即希望保留结果缓存,以防失去网络连接。如果确实是这样,请看一看,它正是这样做的。它还允许您更改缓存的数据,当客户端重新连接时,传输数据并解决任何冲突。由于它通常通过使用SQL Server Compact将缓存持久化到磁盘,因此即使应用程序重新启动,甚至计算机重新启动,它也能生存。

即使应用程序重新启动。。。考虑到数据库已经存在,您打算在应用程序会话中存储比数据库更合适的缓存是什么?我有一个基于竞争的系统,一旦竞争结束,即使应用程序重新启动,也不需要重新查询数据库中与其处于“关闭”状态相同的关系。。。考虑到数据库已经存在,您打算在应用程序会话中存储比数据库更合适的缓存是什么?我有一个基于竞争的系统,一旦竞争结束,就不需要重新查询数据库与处于“关闭”状态的数据库的关系