gpt4 book ai didi

sql - 在 Linqpad 中对已从数据库中获取的数据运行查询(需要缓存)

转载 作者:行者123 更新时间:2023-12-04 02:31:33 25 4
gpt4 key购买 nike

我在 Linqpad 中执行了一个长时间运行的查询,以从我的数据库中获取一些数据。然后我需要分析这些数据。问题是我不想每次更改分析查询时都获取数据。

将数据存储在某个地方(如缓存)并仍然具有 Linq 分析功能的最简单方法是什么? LinqPad 是否为此提供了任何东西?我知道它可以导出为 csv 或 xml 文件,但需要更方便的东西。

最佳答案

LINQPad 提供了一个 Cache扩展方法和 Util.Cache在运行之间在内存中缓存数据的方法。 Cache扩展方法适用于 IEnumerable<T>Util.Cache方法适用于任何类型。

以下是如何使用 Cache扩展方法:

var customers = Customers.Cache();              // Slow only on the first execution
customers.Where (c => c.Name == "Joe").Dump();

运行查询后,将第二行更改为如下内容:

customers.Where (c => c.Name == "Mary").Dump();

当您重新执行查询时,LINQPad 不会从数据库中获取任何内容,因为 customers将在第一次运行时缓存在内存中。

您还可以缓存数据的一个子集:

var localCustomers = Customers.Where (c => c.Country == "US").Cache();
localCustomers.Where (c => c.Name == "Mary").Dump();

LINQPad 的内置教程和引用中有更多示例。按 Ctrl+,调出搜索对话框,点击搜索示例并搜索“缓存”。

如果需要,您可以通过查询菜单上的选项 (Ctrl+Shift+F5) 终止进程来清除缓存。

关于sql - 在 Linqpad 中对已从数据库中获取的数据运行查询(需要缓存),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63917369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com