gpt4 book ai didi

c# - 为什么 asp.net Web API 上的 GET 方法返回 IQueryable?

转载 作者:太空狗 更新时间:2023-10-29 21:43:47 26 4
gpt4 key购买 nike

在 asp.net Web Api2 中,当您为具有 Entity Framework 的模型创建异步 Web API Controller 时,默认情况下,新 Controller 中的第一个方法如下所示:

 public IQueryable<MyModel> GetMyModel()
{
return db.MyModel;
}

此方法的 JSON 输出只是所有 MyModel 的数组条目。同时,POST、PUT、GET(int id) 和 DELETE 的所有其他方法都标记为 async。并返回 Task<IHttpActionResult> .为什么第一个 GET 方法不是同样的风格,像这样:

 public async Task<IHttpActionResult> GetMyModel()
{
return Ok(await db.MyModel.ToArrayAsync());
}

我试过了,它产生了相同的 JSON 输出。

最佳答案

因为 Web API 无论如何都会具体化结果,所以生成所需的最少代码。

通过调用 ToArrayAsync(),您实际上是在做不必要的工作,无论如何稍后都会为您完成。

关于c# - 为什么 asp.net Web API 上的 GET 方法返回 IQueryable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34924726/

26 4 0