c# - 在 LINQPad 中编写 F# 查询

标签 c# linq f# linqpad

我正在尝试使用 F# 构建针对数据库的查询,但我什至无法编译最简单的查询。

我可以像这样构造一个 C# 查询:

from c in Categories
select c

一切正常。但是,当我尝试在 F# 中执行相同的操作时:

query { for c in Categories do
        select c }

我收到以下错误:

Invalid use of a type name and/or object constructor. If necessary use 'new' and apply the constructor to its arguments, e.g. 'new Type(args)'. The required signature is: Categories() : unit.

LINQPad 捆绑了许多示例,但没有一个 F# 示例实际展示如何使用它来查询数据库。我也浏览了互联网,但找不到任何使用 F# 查询 LINQPad 中的数据库的示例。我在这里缺少什么?

最佳答案

出于好奇,我决定尝试在 LinqPad 中使用 F# 进行一些操作。我能够通过选择“F# Program”而不是 F# expression 来让它工作。我确信只使用一个表达式是可能的,但我 100% 不熟悉 F#,所以我只是做了足够的工作来获得一个工作示例。选择这个选项给了我一行:

let dc = new TypedDataContext()

从那里,我关注了this使此查询工作/执行的示例页面:

let dc = new TypedDataContext()

let query1 = query { for c in dc.MyTable do
                     select c }

query1
|> Seq.iter (fun x -> printfn "SomeField: %s" x.SomeField)

关于c# - 在 LINQPad 中编写 F# 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19385657/

相关文章:

c# - 在 html 属性中输入不同颜色的文本

c# 如何对方法签名中的泛型 Func 参数施加约束

c# - 需要 LINQ 表达式根据外键值过滤表

f# - FSharp : Using CSV Type Provider Async

f# - 简单示例中的 FSCL 错误

generics - 使包装的 F# SRTP 函数通用

c# - 检查两个数字中每个对应数字的总和是否相同?

c# - 正则表达式:匹配以 "Id"结尾的单词

c# - ASP.NET EF6 查询模型

c# - 如何使用 Linq to objects 按固定数量对我的选择进行分组?