1
我希望能够理解查询表达式是如何真正评估的。我有一种情况,我使用查询表达式来访问数据库中的大量数据。然后我通过GUI与这些数据交互。例如,用户可能会提供我想应用于一列然后绘图的附加因子。我不清楚的是如何构造它,以便每次GUI更新时都不会从数据库中提取相同的数据。查询表达式和懒惰评估
例如:
let a state= query{...}
let results = a "ALASKA"
let calcoutput y = results |> Seq.map (fun x -> x.Temperature + y)
或
let calcoutput state y = a state |> Seq.map (fun x -> x.Temperature + y)
我不清楚,如果这些实际上是相同的代码,如果是这样我会从数据库中每次提取数据我执行calcoutput与一个不同的y(看起来如此)。我是否应该将“结果”序列作为列表进行投射,然后使用它来避免这种情况?