の目的は、期待する可能性のあるメソッドにをAsQueryable()
渡すことができるようにすることですか、それとも次のように表すのに役立つ理由がありますか?たとえば、次のような場合が想定されています。IEnumerable
IQueryable
IEnumerable
IQueryable
IEnumerable<Order> orders = orderRepo.GetAll();
// I don't want to create another method that works on IEnumerable,
// so I convert it here.
CountOrders(orders.AsQueryable());
public static int CountOrders(IQueryable<Order> ordersQuery)
{
return ordersQuery.Count();
}
それとも実際に何か違うことをするのですか?
IEnumerable<Order> orders = orderRepo.GetAll();
IQueryable<Order> ordersQuery = orders.AsQueryable();
IEnumerable<Order> filteredOrders = orders.Where(o => o.CustomerId == 3);
IQueryable<Order> filteredOrdersQuery = ordersQuery.Where(o => o.CustomerId == 3);
// Are these executed in a different way?
int result1 = filteredOrders.Count();
int result2 = filteredOrdersQuery.Count();
実行しIQueryable
、その実行後に同じことをやって終了することをこれらの拡張メソッドのバージョンはちょうど式を構築しますか?私の主な質問は、使用の実際のユースケースはAsQueryable
何ですか?