一、支持
首先,還是感謝大家的支持,前段時間更新比較頻繁,占據了博客園首頁 最多推薦、最多評論、10天推薦排行榜、24小時閱讀排行榜、48小時閱讀排行榜。這都讓LZ更有信心,更有動力。評論也比較多,絕大部分都是支持和鼓勵,當然,LZ是個新手,寫不出什么驚天地泣鬼神的東西來,只是實心跟大家分享交流,我們不能強求所有人喜歡,只希望對新手朋友能有所幫助,足矣。
二、理解
LZ還是要工作的,最近一段時間博客更新的頻率不是很高,但,請大家放心,這絕不是要爛尾,其實我們很快就結尾了。頻率不高的原因其實很簡單,LZ最近手頭項目比較多,進度比較緊張,所以一般博客都是今天中午午休的時間寫一點,明天寫一點,所以更新時間也有半下午,也有中午,也有上午。前段時間比較寬松,所以更新的比較頻繁,還是希望大家理解。
三、心里話
基本每個人的評論LZ都有回復(包括灌水),其實我比較想看到的並不是 樓主好人~ 樓主辛苦了~ 贊~ 膜拜~等等之類,我更希望看到的是大家的錯誤,如果一個項目下來都基本沒遇到什么錯誤,那么只有兩種可能:一是,你太NB了;二是,Copy源碼。
其實前面幾篇文章大家都遇到一些錯誤,很多時候呢,我並沒有直接回復解決方案,不是LZ不想告訴大家,如果不想那就不寫這個了,估計博客園啊CSDN啊那么多寫博客的,很少有人把現用框架分享出來,既然分享就毫不保留。主要還是希望大家多百度、多CSDN、多逛論壇,請相信,通過這樣解決的問題,所學到的遠遠超過問題本身。我知道,作為新手,我們最討厭的就是讓別人解決問題,還讓我們百度啊干什么的,直接告訴我們怎么解決就完事了,LZ也是新手,也是希望這樣,但是,這絕對對我們不是最好的。當然很多朋友就是不想學,就是想拿來用,問了很多遍的其實LZ也把最終解決告訴大家了。
有的朋友可能發現,前面幾篇都很詳細,也都貼出來代碼,到后面怎么都是截圖了?
這真的不是LZ敷衍大家了。。。
其一,前面幾篇是開始,用到的技術比較多,害怕大家不會,所以着重講了一下,希望大家能有所參考,並通過論壇、百度等理解、學會。而后面呢,主要就是怎么用了,本來不想繼續寫出來的,但是害怕有些新手朋友不會用,所以還是寫出來。說實話,對於LZ來說,貼代碼遠遠比截圖省事,因為做每一篇文章前,LZ都把代碼重新敲了一遍,加上注釋,直接Copy代碼多省事。截圖LZ要首先想想 分哪幾步,然后把沒用到的刪掉,截圖,下一步用到了加上再截圖,再一下步。更費勁的,但是為什么呢?就是希望大家自己敲出代碼來,即便不理解,起碼有個印象啊。自己敲出來的東西才是自己的。
其二,如果僅僅是想把源碼給大家,LZ直接Github了,還寫這些東西干嘛,一直說把源碼分享給大家,結束后會兌現的,但是更希望結束后大家就不要了,自己已經有屬於自己的了。一直在強調:LZ不是大神,寫的代碼亂七八糟,希望大家能取其精華去其糟粕,把LZ會的你不會的學到,然后做一套自己的東西,所以大家跟我要UI我感到很難理解,Bootstrap后台模板網上一大片,哪個不比LZ的好。
最后:再次感謝大家的支持!
借此篇,再跟大家解釋一下 接口繼承 IRepository 后 LoadListAll 與 LoadAll 的區別:
LoadListAll() 查詢返回數據 返回的是 IList<>集合 也就是 List<模型> 集合,通俗理解就是 查詢表返回數據
而LoadAll()呢,返回的是IQueryable集合也就是 IQueryable<模型>集合,我們叫做預加載。
怎么理解呢?就是LoadAll 是把數據先放到緩存中,進行進一步的檢索查詢(二級緩存),大家可以研究一下RepositoryBase.cs 通過對AsNoTracking等的控制實現二級緩存,提高性能。