IEnumerable vs IQueriable

dotnetbysatya

IEnumerable

-IEnumerable exists in System.Collections Namespace.
-IEnumerable can move forward only over a collection, it can’t
move backward and between the items.
-IEnumerable is best to query data from in-memory collections like
List, Array etc.
-While query data from database, IEnumerable execute select query
on server side, load data in-memory on client side and then filter
data.
-IEnumerable is suitable for LINQ to Object and LINQ to XML
queries.
-IEnumerable supports deferred execution.
-IEnumerable doesn’t supports custom query.
-IEnumerable doesn’t support lazy loading. Hence not suitable for
paging like scenarios.
-Extension methods supports by IEnumerable takes functional
objects.

IEnumerable Example

MyDataContext dc = new MyDataContext ();
IEnumerable<Employee> list = dc.Employees.Where(p =>
p.Name.StartsWith(“S”));
list = list.Take<Employee>(10);

Generated SQL statements of above query will be :

SELECT [t0].[EmpID], [t0].[EmpName], [t0].[Salary] FROM [Employee]
AS [t0]
WHERE [t0].[EmpName] LIKE @p0

Notice that in this query “top 10” is missing since IEnumerable
filters records on…

View original post 155 more words

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Blog at WordPress.com.

Up ↑

%d bloggers like this: