tags:

views:

95

answers:

2

How to write FirstOrDefault Linq Query in F#? Can I use linq to sql in F# in totally?

+4  A: 

Regarding LINQ-to-SQL, see

http://blogs.msdn.com/dsyme/archive/2009/10/23/a-quick-refresh-on-query-support-in-the-f-power-pack.aspx

Regarding FirstOrDefault, it's just an extension method in the System.Linq namespace:

let l = [1;2;3]
open System.Linq 
let r = l.FirstOrDefault()
Brian
+5  A: 

Note that a more idiomatic approach within F# would probably be to use something along the lines of Seq.tryFind rather than to use the LINQ operators, although it's not a drop in replacement since it returns an option value.

kvb
I would also recomend using `Seq.tryFind` - in F#, you generally try to aviod using `null` values (because they are dangerous). Handling option values is easier as you can also use `Option.map` and other functions for working with them (though, this probably won't work in F# LINQ to SQL)
Tomas Petricek
Yep, `Seq.tryFind (fun _ -> true)` works great.
Joel Mueller