在EF Core中实现仓库的正确方式是什么?
public IAsyncEnumerable<Order> GetOrder(int orderId)
{
return blablabla.AsAsyncEnumerable();
}
或者
public Task<IEnumerable<Order>> GetOrder(int orderId)
{
return blablabla.ToListAsync();
}
在性能方面,调用AsAsyncEnumerable()
是否明智?这种方法安全吗?
一方面,它不会创建List<T>
对象,因此应该稍微快一些。但另一方面,查询没有实现,所以我们推迟了SQL的执行,结果可能会在此期间发生变化。