我的控制器中有几个操作返回 EF 实体的 IEnumerable。
我正在考虑让这些操作方法返回一个列表(只是在将它传递回视图之前调用一个 model.ToList() )。
我考虑这样做的原因有两个:
- 首先,我正在测量 BaseController 类(onactionexecuted/onactionexecuting)中每个 actionmethods 的性能,如果我返回一个 IEnumerable,那么直到 onactionexecuted 方法之后才会执行查询。
- 其次,我计划在 OnActionExecuted 中处理我的“服务层”使用的连接,但是如果我在那里处理它们,视图会因未检索到模型而失败。
我的问题是,这样做有什么缺点吗?我很确定每个 IEnumerable 模型都将被完全遍历,因此检索不会使用的数据不会有问题。
谢谢你的帮助。