Difference between using IQueryable and local variable for LINQ Query

Viewed 27

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?

0 Answers
Related