Writing F# queries in LINQPad

I'm trying to use F# to construct a query against a database, but I can't get even the simplest of queries to compile.

I can construct a C# query like this:

from c in Categories
select c

Everything works fine. However, when I try to do what should be the same thing in F#:

query { for c in Categories do
        select c }

I get the following error:

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

LINQPad comes bundled with a number of samples, but none of the F# samples actually show how to use it to query against a database. I've looked around the internet, also, but I can't find any examples using F# to query a database in LINQPad. What am I missing here?


Out of curiosity I decided to try and get something working with F# in LinqPad. I was able to get it working by selecting "F# Program" instead of F# expression. I'm sure it's possible using just an expression, but I am 100% unfamiliar with F# so I just did enough to get a working example. Selecting this option gave me a single line of:

let dc = new TypedDataContext()

From there, I followed this example page to get this query working/executing:

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)
链接地址: http://www.djcxy.com/p/86122.html

上一篇: 你怎么知道Tmux中的哪个窗格是关注的?

下一篇: 在LINQPad中编写F#查询