所有文章索引:CYQ.Data 輕量數據層之路 框架開源系列 索引
?
前言:
從V1.5發布到現在時隔20天了,終于發布2.0版本了,2.0系列版本由于引入多數據庫支持,內部結構改動較大。
但是外面調用方式仍保持一致向下兼容,因此若從原來V1.N版本升級到2.N版本,只需要輕輕更換CYQ.Data.DLL即可,界面代碼不需要改變。
但是外面調用方式仍保持一致向下兼容,因此若從原來V1.N版本升級到2.N版本,只需要輕輕更換CYQ.Data.DLL即可,界面代碼不需要改變。
?
疑問?
最近26號才剛發布了V1.5.5,怎么才3天又發布了2.0版本?就這么點時間改動就很大,那不是很不穩定?
解疑:
V1.5.5版本是拿V1.5版本的源碼直接修改的,只是在原來的基本上修正一些sql2000下的應用bug。
實際發布V1.5.5的時候,V2.0已經發布很久了,只是一直做為搶先體驗版本存在。
實際發布V1.5.5的時候,V2.0已經發布很久了,只是一直做為搶先體驗版本存在。
?
版本升級內容:
1:增加支持Access/Oracle數據庫,因此目前支持數據為:sql?2000/sql?2005/access/oracle。
2:內置Aop,可以分離權限/操作日志/異常/或者其它sql執行統計等模塊進行獨立開發。
3:MDataTable?增加2個附屬方法:Bind(控件名稱)及ToJson();
2:內置Aop,可以分離權限/操作日志/異常/或者其它sql執行統計等模塊進行獨立開發。
3:MDataTable?增加2個附屬方法:Bind(控件名稱)及ToJson();
?
4:MAction 剛新增加調試信息輸出屬性:DebugInfo
?
?
一:目前配置文件配置選項
1:默認數據庫鏈接[必選]:

<add?name="Conn"?connectionString="數據庫鏈接字符串"?providerName="最好寫上,不寫則從鏈接字符串里取關鍵字做分支"/>
providerName選項:
sql?2000/sql?2005:System.Data.SqlClient
access:System.Data.OleDb
oracle:System.Data.OracleClient
providerName選項:
sql?2000/sql?2005:System.Data.SqlClient
access:System.Data.OleDb
oracle:System.Data.OracleClient
?
2:開啟異常日志表配置[可選]:

appSettings節點:<add?key="IsWriteLog"?value="true"/>?
說明:如果不配置此節點,V1.5版本及以上會默認拋出異常。配置為true后,有異常不拋出。
connectionStrings節點:<add?name="LogConn"?connectionString="Conn"/>
說明:如果日志表和Conn默認是同個數據庫,可采取共享鏈接的寫法。
說明:如果不配置此節點,V1.5版本及以上會默認拋出異常。配置為true后,有異常不拋出。
connectionStrings節點:<add?name="LogConn"?connectionString="Conn"/>
說明:如果日志表和Conn默認是同個數據庫,可采取共享鏈接的寫法。
?
3:開啟Aop功能配置[可選]:
appSettings節點:<add?key="Aop"?value="CYQ.Data.Test,CYQ.Data.Test.MyAop"/>
說明:CYQ.Data.Test為程序集名稱;CYQ.Data.Test.MyAop為帶完整名稱空間的類名
說明:CYQ.Data.Test為程序集名稱;CYQ.Data.Test.MyAop為帶完整名稱空間的類名
?
4:配置Oracle自增序列名稱[可選]:
appSettings節點:<add?key="AutoID"?value="MyAutoID"/>
說明:默認序列名稱為:AutoID
說明:默認序列名稱為:AutoID
?
二:using語法使用說明
?
有些網友對using語法情有獨鐘,這里我說明一下相關的使用:
?
1:using語法簡單說明:
using(MAction?action=new?MAction("表")){業務處理}?等同于=>?try{?業務處理}?finally{if(action!=null){action.Disponse();}}
?
2:using語法注意點:
首先我們要知道,對于using語法,是在業務處理完的最后,才執行Disponse()方法。
因此,如果你的業務處理時間很長,而這些很長的處理邏輯可能跟數據庫已沒有關系,比如查出數據,然后要根據查出的數據做出很多業務邏輯處理。
那么這種情況下使用using,大括號在哪里結束,就得講究一下,雖然不影響大局,畢竟濫用也不好。
因此,如果你的業務處理時間很長,而這些很長的處理邏輯可能跟數據庫已沒有關系,比如查出數據,然后要根據查出的數據做出很多業務邏輯處理。
那么這種情況下使用using,大括號在哪里結束,就得講究一下,雖然不影響大局,畢竟濫用也不好。
?
3:MDataTable 新方法Bind語法演示using:
using?(MAction?action?=?new?MAction(TableNames.Users))
{
???action.Select().Bind(rptList);
}
{
???action.Select().Bind(rptList);
}
幾點說明:
1:Select方法查詢查詢不到數據時,不再返回null,而是返回new?MDataTable()的實例。
2:由于保證了Select不會返回null,因此可以使用其Bind方法來直接綁定rptList控件
3:Bind方法支持的控件類型有:GridView/Repeater/DataList/DataGrid/DataGridView
2:由于保證了Select不會返回null,因此可以使用其Bind方法來直接綁定rptList控件
3:Bind方法支持的控件類型有:GridView/Repeater/DataList/DataGrid/DataGridView
?
三:枚舉生成器V2.0版本發布
這里上一張截圖,增加支持Access/Oracle生成枚舉。
?
截圖如下:
?
?四:框架及最近輔助工具下載地址
詳見:CYQ.Data 輕量數據層之路 bug反饋、優化建議、最新框架下載
?
結言:
使用本框架進行開發,入門簡單,開發效率高,性能優越,更有詳盡的API文檔,有相關的使用幫助文章、示例文章、更甚有相關的視頻教程及輔助工具。
關鍵還是免費與開源,實在是居家旅行、項目開發、學習研究的必備良品!!!!!!
關鍵還是免費與開源,實在是居家旅行、項目開發、學習研究的必備良品!!!!!!
?
附言:

別猶豫了,從你看到此框架的瞬間,加入使用的大軍吧,從開始到學會,口述教的話也就僅5分鐘,看視頻教程,也就10分鐘,看文章,頂多就半個多小時。
速學速用:
如果你是學生:用它來開發作品,不僅能提升個人經驗值,對將來找工作也是大有幫助。
如果你是企業:用它來開發公司項目,即提高員工開發效率,更能統一開發風格,就算員工流動,新人進來,口述幾分鐘,也能迅速接手了解整體架構。
如果你是初級開發者:老板整天壓著工期,逼著你快速開發交付產品,自己手頭寫框架又能力用限,網上的其它框架又大又多又難學又難用,咋整?用上此框架,煩腦不再用。
如果你是中級開發者:正在提升階段,試圖自己研發框架,下載源碼研究吧,多一份思想也不是什么壞事,還可以進群進行相關討論,互相提升。
如果你......
速學速用:
如果你是學生:用它來開發作品,不僅能提升個人經驗值,對將來找工作也是大有幫助。
如果你是企業:用它來開發公司項目,即提高員工開發效率,更能統一開發風格,就算員工流動,新人進來,口述幾分鐘,也能迅速接手了解整體架構。
如果你是初級開發者:老板整天壓著工期,逼著你快速開發交付產品,自己手頭寫框架又能力用限,網上的其它框架又大又多又難學又難用,咋整?用上此框架,煩腦不再用。
如果你是中級開發者:正在提升階段,試圖自己研發框架,下載源碼研究吧,多一份思想也不是什么壞事,還可以進群進行相關討論,互相提升。
如果你......
?
?
最后:祝大家用的放心,用的省心,用的開心,你的鼓勵是我最大的動力。
?
?
版權聲明:本文原創發表于博客園,作者為路過秋天,原文鏈接:
http://www.cnblogs.com/cyq1162/archive/2010/09/30/1839336.html