注意:只有控制器的测试过程中出现如下问题发生。 这里是精问题如何正确地集成测试网页API控制器IEnumerable的结果吗?
有什么办法避免调用ToList方法,但仍处于延迟从LINQ执行异常的情况下返回正确的状态代码保持控制器尽可能简单?
例如,我有这样的API端点:
public class EntityController : ApiController
{
...
public IHttpActionResult Get()
{
return Ok(Session.Query<Entity>());
}
}
上面的代码将始终返回成功状态码,但ToList在执行查询任何问题的情况下,它不会成功。
public class EntityController : ApiController
{
...
public IHttpActionResult Get()
{
return Ok(Session.Query<Entity>().ToList());
}
}
为什么会这样工作的原因是清楚的,但有返回正确的状态码,并保持控制简单更聪明的方式?