任何人都可以發佈正確和有用的MVC應用程序中使用EF延遲加載的示例嗎?在MVC應用程序中使用EF延遲加載的實例
我試圖研究這個問題,但我無法得到正確的案例。
因此,我的結論是:由於Web應用程序是無狀態的,因此將LL包含到實體中是沒有意義的。但這聽起來很奇怪。這就是爲什麼問題在這裏。
您能證實或反駁我的結論嗎?
編輯
問題方面的statment 「無狀態」 在我心目中很重要的。讓我們假裝2場景。第一個例子涉及WPF應用程序,第二個涉及MVC。假設這是下一個簡單對象:
public class Person
{
public int Age { get; set; }
public string Name { get; set; }
...
public virtual List<Activity> Activities { get; set; }
}
1)WPF。用戶可以請求沒有他的活動的唯一人員。因此他得到了一小部分數據。開銷是合理的。同時用戶可以決定請求人的活動。 由於ll機制,EF只需加載活動而不需要再次請求人員對象,因爲Person仍然存在於應用程序中(當然,如果我們以這種方式編寫代碼)。
2)MVC。同樣的行動在那裏。但唯一的區別是,在服務器響應之後,包括對象Person在內的所有資源都被部署。我們無法像在WPF應用程序中那樣加載Person活動。我們被迫再次加載Person(與WPF應用程序相比,開銷增加了)
問題是隻有在實體所連接的上下文範圍內才能執行延遲加載 - 如果處置上下文,則不能用它。
請參閱此鏈接:http://www.codeproject.com/Articles/652556/Can-you-explain-Lazy-Loading –
你能仔細閱讀這個問題嗎?你的鏈接根本沒有回答。 m知道什麼是懶惰加載,但我想知道是否有任何在web應用程序中使用它的合理情況。 – managerger
請參閱這篇文章:https://auth0.com/blog/12-steps-to-a-faster -web-app/ –