IEnumerable
|
IQueryable
|
|
·
IQueryable exists in System.Linq
Namespace.
·
IQueryable can move forward only over a
collection, it can’t move backward and between the items.
·
IQueryable is best to query data from
out-memory (like remote database, service) collections.
·
While query data from database,
IQueryable execute select query on server side with all filters.
·
IQueryable is suitable for LINQ to SQL
queries.
·
IQueryable supports deferred execution.
·
IQueryable supports custom query using
CreateQuery and Execute methods.
·
IQueryable support lazy loading. Hence it
is suitable for paging like scenarios.
·
Extension methods supports by IQueryable
takes expression objects means expression tree.
|
Example
MyDataContext dc = new
MyDataContext ();
IEnumerable<Employee> list
= dc.Employees.Where(p
=> p.Name.StartsWith("S"));
list
= list.Take<Employee>(10);
|
Example
MyDataContext dc = new MyDataContext (); IQueryable<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 |
Generated SQL statements of above query will be :
SELECT TOP 10 [t0].[EmpID], [t0].[EmpName], [t0].[Salary] FROM [Employee] AS [t0] WHERE [t0].[EmpName] LIKE @p0 |
0 Comments