離上一篇又過去了一個月,時間比較緊,後續估計會更緊,因此此次將放出更多公共操做類及配套的CodeSmith模板,本篇將簡要介紹新放出的重要功能,供有興趣的同窗參考。html
這一次對兩個VS解決方案均作了大量調整,包含項目結構及命名空間。數據庫
Util解決方案的目錄截圖以下。緩存
除了少數須要配置的集成測試外,大部分單元測試已放出。併發
Applications項目示例的目錄截圖以下。app
Applications項目示例雖然包含的東西很少,卻建了很多項目,可能並不符合你的胃口,我將在下一篇文章向你演示其它項目結構組織方式。框架
CodeSmith代碼生成項目的目錄截圖以下,這是生成前的模板,除了實體類、EF映射配置等常規代碼外,我還按EASYUI的三種界面操做方式生成相關的CRUD界面,另外我也嘗試生成一些測試代碼,不過目前效果並不理想,你們能夠先參考。dom
02-Result目錄爲生成的代碼。單元測試
因爲修改了項目命名空間規則,目前放出的模板命名空間有些錯誤,後續會進行修正。對於CodeSmith的使用,尚未學習過的同窗能夠先自行安裝軟件,我會在後續幾天進行介紹。學習
公共操做類方面,更新了隨機數生成器Util.RandomBuilder,用於生成簡單的隨機測試數據。測試
根據部分同窗的建議,增長了Autofac和Ef的自動裝配功能。
單元測試模擬框架已從原先的RhinoMocks改爲了NSubStitute。
最近封裝了緩存模塊的部分功能,主要參考蘑菇先生的《那些年咱們一塊兒追過的緩存寫法》以及Jusfr.W的《一步步實現一個基本的緩存模塊》,我畫了簡單的類圖和順序圖來幫助理解,目前只實現了部分功能,後續會進行完善。
爲了防止緩存過時時有大量併發請求訪問數據庫,我使用了單元測試進行模擬,並封裝了一個簡單的併發模擬操做類。
本次更新了對SqlBulkCopy的封裝,EF元數據經過EntityFramework.Extended擴展獲取,不過遺憾的是該擴展對元數據的支持並不夠理想,不支持值對象,即ComplexType,我簡單修改了下,目前僅支持一級,好比user.Address,傳說EF7在元數據方面開放了不少東西,後續將直接在EF7上擴展。
SqlBuilkCopy配合隨機生成器,能夠爲簡單的錶快速建立測試數據,複雜的狀況暫末測試。
另外一個重要更新是對SQL查詢的支持,經過對Dapper的簡單包裝便可完成查詢,該模塊主要實現了對SQL Where條件的拼接,自動完成空值判斷,同時支持分頁,目前實現了Sql Server基於RowNumber和Offset兩種分頁方式,Offset是Sql Server 2012特有語法,分頁效率比RowNumber有大幅提高,特別是點擊分頁最後幾頁時,效果尤爲明顯。
EasyUi方面,更新了查找帶回等功能。
功能模塊方面,更新了資源管理模塊,資源管理模塊還沒有完成,也先放出來供你們參考。
資源管理模塊涉及圖標選擇,採用查找帶回方式操做,效果圖以下。
注意,使用圖標管理模塊上傳圖標時,會自動更新相關的CSS文件,因爲目前該文件是靜態引用,因此上傳的圖標在圖標選擇界面中沒法顯示,請上傳後Ctrl +R刷新,後續會將引用方式改爲動態,每次上傳成功都須要更新CSS文件引用。
表現層引入了ValidateAntiForgeryToken特性,全部公共JS均已更新。
本次更新大量類,有興趣本身看看,不一一介紹了。
1. 本應用程序框架版權歸做者何鎮汐全部。
2. 本框架代碼可無償使用,容許用於商業目的。
3. 若是您的開源項目中採用了本框架少許代碼,不須要註明出處。
4. 若是您的開源項目中採用了本框架大量代碼,請註明出處。
5. 嚴重鄙視某些人直接修改本框架命名空間後開源,本人保留追究法律責任的權利。
6. 禁止直接銷售本框架源碼騙錢,本人保留追究法律責任的權利。
本篇介紹了重要的更新內容,下一篇介紹VS解決方案的建立。
應用程序框架交流QQ羣1:386092459(已滿)
應用程序框架交流QQ羣2:376124781
EasyUi交流QQ羣:157809322
框架源碼:http://files.cnblogs.com/files/xiadao521/Framework.2015.5.20.1.rar
項目示例源碼:http://files.cnblogs.com/files/xiadao521/Applications.2015.5.20.1.rar
數據庫備份:http://files.cnblogs.com/files/xiadao521/Data.2015.5.20.1.rar
Codesmith生成器模板:http://files.cnblogs.com/files/xiadao521/CodeGenerator.2015.5.20.1.rar