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

q |> query |> ignore  //error FS0039

I'am using VS2012 and F# core of "ReferenceAssemblies\Microsoft\FSharp\3.0\Runtime\v2.0\FSharp.Core.dll" (version 2.3.0.0) on .NET 3.5 ;

What did I miss here?

4

1 回答 1

1

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

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

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

于 2013-11-01T03:51:16.760 回答