我的控制器中有几个操作可以返回EF实体的IEnumerable。
我正在考虑让这些actionmethods返回一个列表(只是在将它传递回视图之前调用model.ToList())。
我正在考虑这样做有两个原因:
我的问题是,这样做有什么缺点吗? 我很确定每个IEnumerable模型都会被完全遍历,所以检索不会被使用的数据也不会有问题。
感谢您的帮助。
答案 0 :(得分:2)
这是IMO完全有效的事情。你几乎已经指出了利弊。主要区别在于.ToList一次性加载到内存中,而另一个允许按需加载。
如果您计划无论如何都要加载整个枚举,那么调用.ToList会通过一次抓取所有内容而不是一次请求来节省带宽。所以,无论如何,这听起来似乎是一条更好的道路。