我的控制器中有幾個操作返回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