InvalidOperationException LINQ
December 12th, 2009.Filed under Programming.
Quick note on “Sequence contains no elements” error message or by getting “InvalidOperationException” when calling Single from a LINQ query.
Change Single< Object >() to SingleOrDefault< Object >() so it will return null if none found without adding a try catch block.
Here is an example:
public Boolean getIsUserValid(User user)
{
User foundUser = (db.Users.Where(d => d.username.Equals(user.username)
&& d.password.Equals(user.password))).SingleOrDefault();
if (foundUser == null) return false;
else return true;
}// end getIsUserValid()
LINQ Query can also be wrten like so:
User foundUser = (db.Users.SingleOrDefault< User >(u => u.password.Equals(user.password) && u.username.Equals(user.username)));
