Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在LINQPad中编写F查询_C#_Linq_F#_Linqpad - Fatal编程技术网

C# 在LINQPad中编写F查询

C# 在LINQPad中编写F查询,c#,linq,f#,linqpad,C#,Linq,F#,Linqpad,我试图使用F来构造一个针对数据库的查询,但我甚至无法编译最简单的查询 我可以这样构造一个C查询: 从c到类别 选择c 一切正常。但是,当我尝试在F中执行相同的操作时: query { for c in Categories do select c } 我得到以下错误: 类型名和/或对象构造函数的使用无效。如有必要,使用“new”并将构造函数应用于其参数,例如“new Typeargs”。所需签名为:类别:单位 LINQPad附带了许多示例,但F示例中没有一个实际显示如何使用它查

我试图使用F来构造一个针对数据库的查询,但我甚至无法编译最简单的查询

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

从c到类别 选择c 一切正常。但是,当我尝试在F中执行相同的操作时:

query { for c in Categories do
        select c }
我得到以下错误:

类型名和/或对象构造函数的使用无效。如有必要,使用“new”并将构造函数应用于其参数,例如“new Typeargs”。所需签名为:类别:单位


LINQPad附带了许多示例,但F示例中没有一个实际显示如何使用它查询数据库。我也浏览了互联网,但在LINQPad中找不到任何使用F查询数据库的示例。我在这里遗漏了什么?

出于好奇,我决定尝试在LinqPad中使用F。通过选择F程序而不是F表达式,我可以使它工作。我确信只使用一个表达式是可能的,但我对F 100%不熟悉,所以我做了足够多的工作来获得一个工作示例。选择此选项会给我一行:

let dc = new TypedDataContext()
在此基础上,我按照示例页面操作/执行此查询:

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)

你只需要加上这个。如果要在LINQPad中将其作为F表达式运行,则在映射表前面

query { for c in this.Categories do
        select c }

我想可能有某种神奇的词语我不得不使用;原来是华盛顿。在“F Expression”模式下,查询{forc In dc.Categories do select c}工作正常。谢谢你给我指出了正确的方向。没问题。您可能还会注意到使用dc.Categories时收到的关于不使用this关键字的警告。看起来类似于C,DataContext的作用域实际上就是这个,所以你可以这样做。分类并去掉警告。