我在使用F#查询表达式时得到了这个消息:错误FS0039:未定义的值或构造函数“查询”

时间:2013-11-01 03:15:15

标签: f# query-expressions

let q = <@  seq {
                for i in [1..10] do
                    yield i  
        } |> Seq.head @>

q |> query |> ignore  //error FS0039

我正在使用"ReferenceAssemblies\Microsoft\FSharp\3.0\Runtime\v2.0\FSharp.Core.dll"的VS2012和F#核心(版本2.3.0.0) 在.NET 3.5上;

我在这里想念什么?

1 个答案:

答案 0 :(得分:1)

我可能错了(版本控制有点令人困惑)但是如果你在Visual Studio 2012中使用F#3.0,那么你应该能够使用新的查询表达式语法:

query { for i in 1 .. 10 do
        select i
        head }

这适用于内存和SQL数据库(以及某些类型的提供程序)。有关更多信息,请参阅the MSDN documentation。如果您使用的是旧版本(或目标框架),那么我肯定会建议升级 - F#3.0查询更加稳固且易于使用。