فرق IEnumerable , Iqueryable:
IEnumerable<Product> products = repository.GetProducts();
var productsOver25 = products.Where(p => p.Cost >= 25.00);
در IEnumerable ، در خط اولش ،تمام داده ها از دیتابیس آورده می شود و در خط دوم فیلتر می شود.
IQueryable<Product> products = repository.GetQueryableProducts();
var productsOver25 = products.Where(p => p.Cost >= 25.00);
در خط اول Iqueryable،و حتی خط دومش هیچ رفت و آمدی به بانک وجود ندارد مگر اینکه اطلاعات به نحوی مثل Tolist فراخوانی شود،در این صورت اطلاعات همان سمت sql فیلتر می شوند.