我正在尝试使用 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/