What is the difference between
.Where() in Entity Framework?
return ContextSet().Select(x=> x.FirstName == "John")
ContextSet().Where(x=> x.FirstName == "John")
When should I use
Select is a projection, so what you get is the expression
x=> x.FirstName == "John" evaluated for each element in
ContextSet() on the server. i.e. lots of true/false values (the same number as your original list). If you look the select will return something like
IEnumerable<bool> (because the type of
x=> x.FirstName == "John" is a bool).
Where filters the results, returning an enumerable of the original type (no projection).
Select when you want to keep all results, but change their type (project them).
Where when you want to filter your results, keeping the original type
Where() is a filter.
Select() selects a different piece of data.
Select() example will return a collection of booleans.