Related Tags:
Asp.Net It was developed by Microsoft to allow programmers to build dynamic web sites, web applications and web services. It was first released in January 2002 with version 1.0 of the .NET Framework, and is the successor to Microsoft's Active Server Pages (ASP) technology. Learn More, C# C# (pronounced "C-sharp") is an object-oriented programming language from Microsoft that aims to combine the computing power of C++ with the programming ease of Visual Basic. C# is based on C++ and contains features similar to those of Java. Learn More, ASP.NET MVC The ASP.NET MVC framework is a lightweight, highly testable presentation framework that (as with Web Forms-based applications) is integrated with existing ASP.NET features, such as master pages and membership-based authentication. The MVC framework is defined in the System.Web.Mvc assembly. Learn More, Data Structure In computer science, a data structure is a particular way of organizing and storing data in a computer so that it can be accessed and modified efficiently. Learn More, Programming concepts Almost all programs consist of the same basic 'building blocks', built together in different ways to achieve a particular goal. Variables, data types, sequence, selection, and iteration are some examples of these basic concepts, which all new programmers need to learn. This tag is mainly for all such conceptual Questions. Learn More,

what is the main difference between IEnumerable and IQueryable, which one should be preferred?

Description:I have searched few differences between IEnumerable<T> and IQueryable<T> but still can't decide which one to preferred and why, anyone with an simple example would be more appreciated so that i can understand it with more clarity.

Posted by: | Posted on: Nov 14, 2017

1 answers



The main difference between “IEnumerable” and “IQueryable” is about where the filter logic is executed. One executes on the client side (in memory) and the other executes on the database.

For example:

we can consider an example where we have 10,000 records for a user in our database and let's say only 900 out which are active users, so in this case if we use “IEnumerable” then first it loads all 10,000 records in memory and then applies the IsActive filter on it which eventually returns the 900 active users.

While on the other hand on the same case if we use “IQueryable” it will directly apply the IsActive filter on the database which directly from there will return the 900 active users.

For more differences Link might help you.

Replied by: | Replied on: Nov 20, 2017


Code block Hyperlink bold Quotes block Upload Images