With LINQ (I hate most other ORMs) you get objects back and you use the same query syntax for working with RDMS’s, NoSql data stores, REST APIs, in memory collections, etc.
If you had an in memory list you would write:
var seniors = from c in customers where c.Age > 65
If you were using an RDMS you would write:
var customers = context.Customers
var seniors = from c in customers where c.Age > 65
If you were using Mongo you would write:
var customers = database.GetCollection<Customers>(“Customers”)
var seniors = from c in customers where c.Age > 65
In each case, the query would be translated appropriately - as in memory code, SQL, or MongoQuery respectively.