小编Jan*_*ski的帖子

我应该从存储库返回 Task<IEnumerable<T>> 或 IAsyncEnumerable<T> 吗?

EF Core 中存储库实现的正确方法是什么?

public IAsyncEnumerable<Order> GetOrder(int orderId)
{
    return blablabla.AsAsyncEnumerable();
}
Run Code Online (Sandbox Code Playgroud)

或者

public Task<IEnumerable<Order>> GetOrder(int orderId)
{
    return blablabla.ToListAsync();
}
Run Code Online (Sandbox Code Playgroud)

打电话是否明智AsAsyncEnumerable()?这种方法安全吗?一方面它不会创建List<T>对象,所以它应该稍微快一些。但从订单角度来看,查询并未具体化,因此我们推迟了 SQL 执行,同时结果可能会发生变化。

.net asp.net entity-framework-core .net-core asp.net-core

14
推荐指数
2
解决办法
3165
查看次数