我的控制器中有几个操作返回IE实例的IEnumerable。ASP.NET MVC,EF:使操作方法返回List而不是IEnumerable
我正在考虑让这些actionmethods返回一个列表,而不是在传递给视图之前调用一个model.ToList()。
有两个原因,我想在这样做:
- 首先,我测量的BaseController类actionmethods的每一个(onactionexecuted/onactionexecuting)的表现,如果我回一个IEnumerable,那么只有在onactionexecuted方法之后才会执行查询。其次,我打算在OnActionExecuted内部处理由我的“服务层”使用的连接,但是如果我将它们放置在那里,视图将无法检索模型的bc。
我的问题是,这样做有什么缺点吗? 我非常确定每个IEnumerable模型都将被完全遍历,所以它不会成为检索不会被使用的数据的问题。
感谢您的帮助。
在将数据交给您的视图之前,确实应确保您的查询已实现(已执行)。调用'ToList()'是一种方法。 – 2012-04-25 16:04:52