相关疑难解决方法(0)

AsQueryable()的目的是什么?

是的目的AsQueryable()只是让你可以围绕传递IEnumerable到所期望的方法IQueryable,或者是有一个有用的理由表示IEnumerableIQueryable?例如,它应该是这样的情况:

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();
}
Run Code Online (Sandbox Code Playgroud)

或者它实际上是否使它做了不同的事情:

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(); …
Run Code Online (Sandbox Code Playgroud)

.net c# linq ienumerable iqueryable

94
推荐指数
4
解决办法
7万
查看次数

标签 统计

.net ×1

c# ×1

ienumerable ×1

iqueryable ×1

linq ×1