EF---延遲加載技術


延遲加載:

優點:只在需要的時候加載數據,不需要預先計划,避免了各種復雜的外連接、索引、視圖操作帶來的低效率問題

使用方式:兩步

第一:在需要延遲加載的屬性前加上virtual ,該屬性的類型可以是任務的集合類型ICOLLOCT<T>或者是0/1..1關聯屬性。

如: public virtual List<Product> Products { get; set; }

第二:在context構造器中開啟延遲加載功能

 ContextOptions.LazyLoadingEnabled = true;

 

缺陷:多次與DB交互,性能降低

阻止延遲加載解決方案:

ToList(),返回的東西是個內存級的對象,就是說強迫它在這里執行了一次SQL語句,查詢到的東西被放在Web服務器內存里了,這樣可以達到緩存的效果,這就阻止了延遲加載

 

 

 

參考:

tks:

http://www.cnblogs.com/sunrfun/archive/2011/05/11/2043053.html

http://wenku.baidu.com/view/ddcd122ab4daa58da0114af6.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM