在看線上的例子時,我注意到有人用他們的控制器加載他們的模型的一種有趣的方式。加載Controller的構造函數中的所有模型項?
他們通過控制器構造函數加載模型項目:
public class HomeController : Controller {
private List<Items> allItems= new List<Items>();
public HomeController() {
LoadItems();
}
private void LoadItems() {
// load all items and cache them
}
這似乎有些奇怪我,因爲我將加載,我需要在基於當我需要他們ActionMethods的項目。因此,ListView或DetailsView或其他什麼都會在需要時查詢數據庫,而不是每次調用HomeController方法時調用「LoadItems」。
只是想知道這是否是一個更好的方法來做到這一點或只是處理MVC的許多方法之一。
個人而言,我不會加載模型,直到調用一個需要該模型的動作,不知道爲什麼您的示例將它們全部加載到構造函數中。 – Maess
Gotcha。這對我來說是有道理的,因爲我至少在推出時會擁有數量有限的「項目」,但這看起來像是浪費資源。 –