I use .First() method in some of the Entity Framework LINQ queries to return only one record . This works perfectly similar to the select Top 1 statemnent in SQL .
Eg :
var data = (from m in Employees where m.Name == "Senthil" select m).First()
But , there is an issue with this . Assume your LINQ Query does not contain any Records or the SQL Statement ( TOP 1 ) does not return any records . What would happen ??
I initially thought that it might return NULL or Nothing , but it doesn’t .
When there is no record in the query result and the .First() is used , it throws an error stating “Invalid Operation Exception : sequence contains no elements” . Not an Impressive solution .
Here comes another method that handy in this case ,Its called FirstOrDefault() which returns NULL if there is no records in the result . The FirstOrDefault() will return the default value for the requested type .
var data = (from m in Employees where m.Name == "Senthil" select m).FirstOrDefault();
So beware when using .First() or .Last() , since you can use .FirstOrDefault() or .LastOrDefault() instead .
Also check what is Supported and what is not Supported in Entity Framework when using First or Last funtion in one my earlier posts .

3 comments
Tweets that mention .First() throws Error in LINQ or Entity Framework Queries | Senthil Kumar's Blog -- Topsy.com
[...] This post was mentioned on Twitter by Richard Laksana, Senthil Kumar. Senthil Kumar said: .First() throws Error in LINQ or Entity Framework Queries http://bit.ly/cp01nb via @AddToAny [...]
Nov 4, 2010
Holli Tobey
Amazing job. I am going to want a decent amount of time to toy with your content..
Dec 1, 2010
.First() throws Error in LINQ or Entity Framework Queries | ProgramInDotnet
[...] via .First() throws Error in LINQ or Entity Framework Queries. [...]
Aug 9, 2011