Difference between using IQueryable and local variable for LINQ Query
I have written a LINQ Query to perform a simple where query against a database. However, I noticed there are two methods of doing this, the first I picked up from a book and the second is what I’m seeing mainly online:
First
IQueryable<WebApi.Models.User>? users = db.Users? .Where(user => user.EmailAddress.Equals(loginRequest.EmailAddress) && user.Password.Equals(loginRequest.Password));
Second
WebApi.Models.User user = (from u in db.Users where u.EmailAddress.Equals(loginRequest.EmailAddress) && u.Password.Equals(loginRequest.Password) select u).SingleOrDefault();
The first uses the IQueryable interface while the second does not. What is the difference between the two and does IQueryable provide any advantages over the local variable method?
Add comment