1. 程式人生 > >終於等到你:CYQ.Data V5系列 (ORM資料層,支援.NET Core)最新版本開源了

終於等到你:CYQ.Data V5系列 (ORM資料層,支援.NET Core)最新版本開源了

前言:

不要問我框架為什麼從收費授權轉到免費開源,人生沒有那麼多為什麼,這些年我開源的東西並不少,雖然這個是最核心的,看淡了就也沒什麼了。

群裡的網友:太平說:

記得一年前你開源另一個專案的時候我就說過 
這麼多年 秋天有兩點沒變 一是還是單身 另外一個就是cyq.data還沒開源 
終於等到開源了!

也許吧,只有把cyq.data最終開源了,才能解決單身問題,不然我在這上面花的時間太多,都沒時間和妹子聊天了。

幾個重要網址:

框架下載地址:

1:VS高版本:Nuget上搜cyqdata

當前的版本為:V5.6.1.6

V5系列的更新記錄:

-----------------------------V5.0開始(剛開始過濾版本:有些更新功能遷到V4,所以記錄在V4那)-----------------------------
7:Insert方法增加InsertOption選項及過載方法,可根據需求設定是否需要填充資料。

14:啟用二級資料庫配置,當第一資料庫連結失敗時,轉第二連結資料庫(第二連結配置名為“第一配置名_bak“);

18:DbBase中的方法增加可配置的ExeNonQuery是否加鎖

20:處理json類對單個,號分隔的bug,修正返載入無頭部資料的bug,即"},{"的分隔符號
21:準備增加框架擴充套件對映Xml內容功能
22:CellValue最小單元從IsChanged變更為State,優化按需更新或插入
23:MDataTable 增加讀寫Xml功能

25:對於快取手動指定非快取SetChange時,如果快取不存在,則預設會產生6秒的臨時快取

26:對CYQ.Data.Table名稱空間下的類多數增加了Tojson方法,同時優化Json類,效能提升。
27:MDataTable 增加 Select相關方法
28:MDataTable 增加批量插入和批量更新方法
29:MDataTable 批量更新方法支援DataGridView編輯修改。
32:修正MySql下的多資料庫替換標籤:DateDiff和移除"[]"符號
33:修正Oracle下的多資料庫替換標籤:GetDate()函式,DateDiff函式,修正分頁儲存過程[多表時有問題],增加簡單的DateDiff函式
35:MActionUI增加對Image和RadioButtonList控制元件的取值/賦值
36:增加DBToll類,可從MDataTable中反向工程建立表結構。
37:MProc的ResetProc增加過載方法,允許不清除引數。
38:MDataCell表結構增加預設值,相關讀取預設值
39:增加IField語法,可不用拼Sql字串
40:對錶名增加關鍵字處理。

41:將表架構外接到txt中,節省一次查詢。
42:擴充套件SetType.Custom,可以傳遞多個屬性,同時允許獲取InnerText,InnerXml屬性,如:Document.GetAttrValue(ID,"InnerText");
43:對錶架構獲取,增加或去除表名的關鍵字元號。
44:調整AOP功能,增加四種返回值,可以跳過AopEnd事件,並將預設Aop變為單例。


56:MDataRow增加LoadValue方法,避開直接行的引用賦值引起需要呼叫ResetRow方法。
57:MDataTable在ReadFromDbDataReader時,由於增加指定查詢,導致查詢列與原始表結構不一致,因此增加列調整。
57:Select方法,Mssql/Oracle非分頁查詢不再呼叫儲存過程,轉用直接sql語句。
58:MDataColumn的列名判斷和刪除,判斷不區分大小寫。
59:JsonHelper輸出時,增加RowOp過濾出只需要的資料,最大程式減少更新或插入的資料。
60:增加Tool.ThreadBreak類,可以解決ASP.NET中產生多個程序時,多個執行緒互相影響
61:大的改動:MDataTable 的 Select 與 FindRow 操作方式支援sql語句及IField語法。
62:繼續大改動:MAction支援Txt文字和Xml,涉及很多內部程式碼調整,繼續調整整合。
63:優化細節判斷程式碼,如ToLower->String.Compare IndexOf('',StringComparison.OrdinalIgnoreCase)等。
64:Xml測試通過,同時解決執行緒和程序併發操作問題及大量細節!
64:Aop 大調整,使用AopInfo實體傳遞引數
//65:增加SetPara來引數化傳值,Where檢測到引數化時,不進行過濾。
//66:增加Access的LDB鎖表解決機制,增加GC.Collect()
67:修正AOP問題,克隆例項,避免多執行緒衝突。
68:更新時,如果沒可更新的,也返回true。
69:修正AOP下,更新時IsSuccess結果未重置導致後續結果和上次一樣的bug。
70:MDataTable 的Select增加簡單的欄位比較,如 a>b (a列的值>b列的值)
71:調整Aop的RealProxy方法,相容Release下的問題。
72:調整formatwhere,對like in is判斷加前後空格,支援string主鍵。
73:為CacheManage類增加CacheTable屬性,方便獲取記憶體表資訊。
74:為MDataTable和DataTable的轉換增狀RowState狀態互轉。

75:MySql 的圖片型別不能指定長度,修正相容。(否則會報索引超出了陣列界限錯誤。)
76:修改XHtmlAction:增加無效字元的過濾,SetForeach的string.format不支援{$標籤}{1}問題。
77:MDataTable的指量插入,增加mssql的SqlBulkCopy處理,NoSql模式時,取消ID重複檢測,以加快速度。
78:增加ODP.NET 元件的支援,並增加OracleBulkCopy處理,加快批量插入的速度。
79:去掉ICommon介面,增加了Select方法的重截。
80:文字資料庫增加簡單SQL語法支援(MProc可以執行SQL),同時優化MDataTable的內部查詢。
81:批量插入小調整(sqlite,mysql的time型別在轉到access時批量更親的型別錯誤問題,文字資料庫的表名,去掉.txt或.xml字尾)
82:調整sqlite讀取不了表的bug,重整資料庫結構讀取(去掉只讀,增加主鍵和自增識別,生成指令碼重整)
83:SetToAll增加先設定字首支援方式。
84:檔案資料庫CodeFirst允許不生成表結構,連結語句增加“ts=0”來識別是否建立.ts字尾的表結構。
85:對於預設order by id 優化成order by 關鍵欄位。
86:增加對WPF UI的支援(同時UI的方式變更為反射機制)。(2013-08-09)
87:對MDataTalle增加Distinct()過濾重複行支援。(2013-08-11)
88:批量插入增加關鍵字表名支援。
89:調整MActionUI的相關方法(2013-08-13)
90:相容文字資料庫的表結構檢測(允許從.txt或.xml讀取結構)
91:支援exists(UI取值判斷)
92:處理建立表結構時MySql的DateTime->Timestamp預設值問題。(2013-08-29)
93:減少where 1=1和 and 1=1的存在,修正SQLite的ID表結構自增加ID建立問題。
93:優化Oracle的自定義語句對分頁儲存過程的相容。
94:調整JsonHelper的個別欄位名稱,加強對easyui的互動。
95:調整Json載入表結構(自增ID+預設日期)
96:增加DBFast類。(同時配置工具增加相應的生成純實體的功能)(2013-10-01)
97:資料庫連結取法支援從名稱空間的最後一位+Conn,如Web.Enum.Demo下的類的資料庫連結為:DemoConn
98:XmlAction增加自動批量賦值功能(CMS的標籤功能)
99:處理儲存過程呼叫時的“表名”關鍵字處理
100:處理MProc的OutPutValue如果有多個值的時候則返回Dictionary(2013-10-22)
101:MAction處理分頁查詢的where條件,預設沒傳排序條件時檢測:id時傳第一個關鍵字或第一個欄位做為排序條件。(2013-10-22)
102:JsonHelper小優化,新增Add過載方法
103:MDataTableFilter 處理FindAll方法,增加orderby處理排序。(2013-11-09)
104:MDataTable 增加 List<MDataRow> 的隱式轉換
105:MDataTableFilter 增加In和Not In 查詢支援。
106:增加實體類字尾處理(避免與列舉生成同名)-配置工具同步更新(2013-11-15)
107:處理Guid型別的Insert問題(GroupID從string【1】的值獨立到4)。
108:強化JsonHelper,新增一些實用方法。(2013-12-23)
109:MDataTable 增加GetChanges方法,ToJson增加過載方法,引數(RowOp)(2014-01-04)
110:MSSQL資料轉換增加對xml,varbinary等型別的等價轉換。
111:增加跨庫切換功能(mssql,mysql支援跨庫事務,其它不支援跨庫事務,但可切換資料庫連結)(2014-01-06)
112:增加Appconfig.DB.DefaultConn項,可以在程式碼級配置全域性的預設資料庫連結。(2014-01-09)
113:去除首列必須為Primary列的限制。(2014-01-11)
114:AppConfig類,全部允許直接賦值。
115:MDataTable和MDataRow 遮蔽部分內部實現介面(2014-01-16)
116:MDataTable AcceptChange方法引數AcceptOp增加Auto(批量檢測資料,存在就更新,不存在就增加)(2014-01-19)
117:自動取值相關的小細節優化調整(Delete方法和Update方法無引數時,若主鍵無賦值,則嘗試自動從UI取值)(2014-01-20)
118:增加 CYQ.Data.Extension.RegisterUI類,讓第三方控制元件可以註冊(以便支援自動取值和自動賦值)(2014-01-21)
119:為了相容MSSQL資料庫的資料轉換(避免日期溢位):
對DateTime型別欄位直接賦字元值:"{0001/1/1 0:00:00}",則會變更為:{1753/1/1 0:00:00}(2014-01-21)其它情況則不會改變。(2014-01-21)
追加優化:對於MSSQL,對欄位賦值DateTime.MinValue,在執行SQL命令的引數會自動優化成System.Data.SqlTypes.SqlDateTime.MinValue {1753/1/1 0:00:00} (2014-03-09)
120:OrmBase增加FieldSource列舉屬性,適用於欄位資料結構的來源切換。(2014-02-18)
121:增加StaticTool類:處理Type獲取屬性的繼承屬性分支(實體繼承自OrmBase問題)。(2014-02-20)
122:處理一些細節(UI的Get與Set異常不丟擲,僅記錄日誌)NoSqlAction的插入行去掉靜態屬性,避免併發引發錯誤的插入。(2014-02-22)
123:優化action.Bind(下拉列表)當文字和值為同一個時的情況,Sql語句優化為一個欄位查詢。(2014-03-02)
124:MDataTable增加GetColumnItems<T>(string columnName) 方法,可以方便獲取某一列的集合。(2014-03-09)
125:Oracle的序列從整個庫預設一個,變更為預設一個表一個序列。如果需要自定義,可以配置AppConfig.DB.AutoID引數。(2014-03-09)
126:JsonHelper輸出ToString()時,若是Web環境(自動轉義\t \n \r)(2014-03-17)
126:JsonHelper 靜態方法調整(2014-03-18)
127:Emit轉實體處理自動屬性(自動屬性的名稱格式為 <id>k__BackingField )(2014-03-25)
128:DBTool的CreateTable返回值修正(2014-03-25)
129:優化AppConfig.GetConn (連結字串如果沒有空格,會返回空;預設傳Null或空值,則取Conn項的值)(2014-03-25)
130:優化MSSQL2008下的資料元資料結構獲取語句(2014-03-29)
131:優化MDataTable的AcceptChanges批量功能允許設定聯合主鍵為檢測重複或更新條件(2014-03-29)
132:支援聯合主鍵的處理(2014-03-29)
133:MDataTable.Select和Find查詢條件不區分大小寫(2014-03-30)
134:規範重新命名一些內部變數,MDataCell開放屬性State(Value的狀態)(2014-03-30)
135:新增CYQ.Data.Log.LogTableName屬性,允許配置表名(預設ErrorLogs)(2014-04-11)
136:MProc新增ExeMDataTableList,允許執行多個結果集的資料(2014-04-11)
137:新增CYQ.Data.Log.LogTableName屬性,允許配置表名(預設ErrorLogs)(2014-04-11)
138:MDataRow的SetState方法增加過載方法(允許不設定空值和Null值的狀態)(2014-04-11)
139:Log和MDataRow優化日誌輸出(2014-04-12)
140:JsonHelper優化輸出格式(2014-04-12)
141:oracle分頁取消儲存過程,轉成內建(2014-04-21)
142:將SQL註釋的符號替換外接為可配置:AppConfig.DB.ReplaceSqlInjection(2014-04-21)
143:MAction的SetSelectColumns 設定錯誤的列名時,不再拋異常,而是忽略錯誤的列,並將列名錯誤記錄在除錯語句中。(2014-05-12)
144:JsonHelper 優化大調整(過半程式碼重寫),支援多級巢狀Entity輸出Json。(2014-05-15)
145:MDataColumn 增加SetOrdinal函式,可以對MDataTable的列進行排序,解決(MAction SetSelectColumns自定義列查詢的順序問題。(2014-05-15)
146:JsonHelper 優化大調整(過半程式碼重寫),支援多級巢狀Json轉出Entity。(2014-05-19)
147:MDataTable 批量從Json接收後,自動識別主鍵。(2014-05-24)
148:元資料增加浮點數精度小數位返回。(2014-05-30)
149:處理多資料庫間表切換(2014-05-31)
150:增加MSSQL、MySql、Oracle的欄位描述轉移(2014-05-31)
151:處理各種資料庫間的型別轉換(轉換更加精準,增加各種不常用的資料型別支援),程式碼量調整較大(2014-06-01=》2014-06-02)
152:MDataColumn 增加 CheckDuplicate 屬性,允許重複列。(2014-05-31)
153:增加SimpleOrmBase基類,該基類只處理簡單ORM的功能,不帶AOP和UI互動功能。(2014-06-11)
154:MSSQL、Oracle 增加同義詞的支援。(2014-06-13)
155:增加AppConfig.DB.DeleteField 配置刪除欄位標識(可以將MAction的刪除操作變更為Update標識操作)(2014-06-14)
156:內建的ErrorLogs=》變更為開放的SysLogs,可以對外使用。(2014-06-14)
157:MDataRow的批量設定值方式,統一方法名稱為:LoadFrom(不同的重截【Json、字典、實體物件】)(2014-06-18)
158:去掉:MAction的三個不常用方法:SetIdentityInsertOn、SetIdentityInsertOff、GetFromJson(這個可以由action.Data.LoadFrom(json)處理)(2014-06-18)
158:AOP去掉一個無需要實現的GetFromConfig介面、增加返回MAction、MProc自身引用的引數、是否事務中引數)(2014-06-26)
159:MAction 可以隱式轉換成 MProc(2014-06-26)
160:增加Sybase資料庫支援(2014-07-02)
161:優化分頁支援(2014-07-04)
162:Json 實現 與 Xml 互轉 (XHtmlAction 增加ToJson、JsonHelper增加ToXml)(2014-07-08 => 2014-07-12)
163:修正161調整分頁導致查詢條件丟失問題。(2014-07-30)
164:調整2個Json輸出的小細節 1:{}空陣列輸出不帶引號;2:MDataTable輸出Json,只有一行時也帶[]括號。(2014-08-01)
165:調整MDataTable讀取資料為空時顯示為Null的問題。(2014-08-08)
166:處理Oracle下的Insert返回值問題。(2014-08-20)
167:處理Json返回null、和增加過載方法,及ToDataTable的細節問題。(2014-08-31)
168:支援MSSQL的char36並設定預設值為newid時的主鍵細節處理。(2014-09-02)
169:修正查詢MDataTable無資料時返回時未對指定列過濾問題。(2014-09-02)
170:修正轉實體時處理Nullable型別轉換問題。(2014-09-04)
171:表結構類增加TableName屬性、行和列頭兩個類增加Insert重寫方法(2014-09-14)
172:處理Json細節(2014-09-23)
173:JsonHelper.OutResult,優化(2014-09-28)
174:重寫MDataCell的Equals方法,方便比較兩個值是否相等。(2014-10-09)
175:增加Oracle 12 的ODP.NET處理。(2014-11-19)
176:MDataRow.Create(Hashtable) 轉換的列頭型別,按實際值的型別處理。(2014-11-19)
177:自動取值,Post空值時,對非字串轉DBNull.Value。(2014-12-01,2014-12-11)
178:GUID主鍵的批量插入,預設生成ID。(2014-12-05)
179:修正(事務中時)ResetTable(檢視語句)的問題。(2015-01-02)
180:MDataTable的批量操作(DynamicData屬性允許接收外部的MProc或MAction,以便同一個事務中進行)(2015-01-08、2015-01-10)
181:優化資料表結構生成語句的GUID函式問題。(2015-01-10)
182:MAction、MProc增加RecordsAffected只讀屬性(執行SQL命令時受影響的行數(-2為異常))。(2015-01-11)
183:MSSQL增加跨庫的同義詞處理。(2015-01-11)
184:優化給GUID欄位可賦值:"newid"字串。(2015-01-15)
185:優化JsonHelper.ToJson(List<Dictionary...)方法。(2015-01-17)
186:MDataTable增加Max、Min、Sum、Avg四個列的計算方法。(2015-01-18)
187:優化【獲取表結構失敗時的錯誤資訊顯示】(2015-01-26)
188:處理【MDataTable的AcceptChanges的Auto引數,若沒主鍵的列時,自動補充主鍵列、錯誤資訊顯示】(2015-01-30)
189:MAction的Fill方法之後【所有行的非Null值的狀態變更為1,之前為0】(2015-02-04)
190:修正(事務中時)ResetTable(Sqlite資料庫)的問題(2015-03-05)
191:修正查詢語句:Like 帶逗號(非儲存過程下)分頁查詢時產生的問題(2015-03-10)
192:處理Access下Null值的報引數沒有預設值錯誤問題(2015-03-20)
193:小細節調整(引數化)、自動取值,避開Cookie(2015-04-03)
194:小細節調整,自動取值的狀態判斷條件變更為:只要狀態不是2,都可以自動取值(對應189引發的Bug)(2015-04-08)
195:DBTool.GetColumns方法處理跨庫時的列舉支援。(2015-04-16)
196:新增:DBTool.GetSchemaCacheKey可以獲取快取表結構的Key,從而可以取消表結構快取(當表結構修改,需要重新整理快取時可用)。(2015-04-20)
197:Oracle的主鍵(自增識別,從原來的單int判斷,擴充套件到數字範圍)。(2015-04-24)
198:新增:DBTool.AlterTable方法支援表結構的修改(2015-05-12補充:增加欄位描述輸出)(支援MSSQL、MySQL、Oracle、Sybase、Access)。(2015-04-24)
199:加強Oracle 對於ODP.Net的識別(2015-04-26)
200:AppConfig增加IsEnumToInt配置(預設表列舉轉Int方式,變更為需要配置才啟用,適應表結構的動態修改)(2015-04-27)
201:分頁時相容對於【order by a,b,c asc】這樣的查詢排序條件(2015-04-27)
202:Log和AppDebug兩個類的可配置屬性,統一移到AppConfig下(2015-04-28)
203:優化備用連結機制(當一個主連結掛掉時,切換到從連結)(2015-04-30)
204:新增加:AppConfig.DB.HiddenFields 可以對某些欄位進行全域性隱藏(預設隱藏cyqrownum(框架儲存過程分頁標識)、rowguid(釋出訂閱機制時自動產生的列)、AppConfig.DB.DeleteField(所指定的列))(2015-04-30)
205:內部優化Dictionary非執行緒安全處理(2015-04-30)
206:處理Oracle下檢視語句子查詢的問題(2015-05-05)
207:優化日誌輸出,(包含把長時間執行語句單獨出日誌檔案儲存)(2015-05-07)
208:自動取值部門自動去掉右空格。TrimEnd(' ')(2015-05-08)
209:Winform下繫結DataGrid列表時,列頭自動顯示中文(描述中獲取)(2015-05-09)
210:JsonHelper.Split("{a:null}")對於Null值時,轉成字典保留Key,同時值為空(之前是忽略該Key)(2015-05-11)
211:調整MAction的Fill後對狀態置1時(若指定列查詢時,只修改指定列狀態)(2015-05-11)
212:RowOp列舉中的All名稱變更為IgnoreNull。(2015-05-12)
213:MDataRow的LoadFrom()增加過載:預設無參時,自動從Web Post表單中取值。(2015-05-12)
214:對MDataTable的Select方法進行演算法優化,操作後不改變原有資料(2015-05-24)
215:CacheManage增加Get<T>過載方法(2015-05-24)
216:MAction的SetToAll方法增加對Html控制元件在Runat=server下的支援(2015-05-27)
217:優化MDataTable、MDataRow、MDataColumn相關IList介面的過載方法(機制優化,改動較大)【對MDataTable某一個行進行增加或移除列操作,會觸發整個表的列操作】(2015-05-28)
218:優化MDataTable的行集合的新增事件(遮蔽建構函式、增加過載方法等)(2015-05-29)
219:MDataTable為GetColumnItems方法增加過載,引數isDistinct去掉重複資料。(2015-05-30)
220:處理MDataTable的空列名時轉成“Empty_索引"。(2015-06-01)
221:優化MDataTable建立行(NewRow方法)的速度。(2015-07-29)
222:優化Log類的使用(開放WriteLogToDB方法和增加日誌型別LogType)。(2015-07-30)
223:處理自定義檢視語句帶註釋的問題(原來不支援,改為支援)。(2015-08-04)
224:增加AppConfig.DB.CommandTimeout屬性設定全域性命令超時時間。(2015-08-04)
225:優化JsonHelper的轉化效能(2015-08-26)
225:修正對221優化引起的文字資料庫功能的Bug。(2015-08-26)
226:內部類IOHelper增加檔案編碼自動識別(減少讀Json檔案產生的亂碼問題)。(2015-09-08)
227:事務的提交和回滾方法的返回型別變更為bool。(2015-09-10)
228:修正217引發的表結構歸屬的問題。(2015-09-18)
229:MDataRow的SetToAll增加過載方法。(2015-09-18)
230:優化單元格值的型別轉換錯誤時的日誌輸出。(2015-09-20)
231:JsonHelper.ToJson方法增加對NameValueCollection的轉換支援(2016-02-18)
232:JsonHelper.ToEntity方法增加對集合的轉換支援(2016-02-18)
233:MAction和MProc去掉增刪改查和執行等方法中的(param object[] AopPara)可選引數,簡化方法(2016-02-20)
234:MAction和Mproc增加SetAopPara來設定額外的Aop引數(對應233的處理)。(2016-02-20)
235: mysql double 轉 mssql real 型別問題(2016-03-18)
236:mysql (0001/1/1 0:00:00)日期轉mssql問題,連結字串可補充(Convert Zero Datetime=True)(2016-03-18)
237: mysql(MySQL.Data.dll)使用新版本(避開向訊號量新增給定計數將導致其超出它的最大計數)(2016-03-18)
238: MAction的SetPara方法增加引數檢測避免重複設定(2016-03-30)
239:增加表和欄位對映支援(即忽略表名或欄位名中的"_",如new MAction("SysUser"),資料庫原表名可以是Sys_User(2016-04-10)
240:MDataTable增加Join方法(可以在兩個表間實現LeftJoin關聯)(2016-04-20)
241:MAction、MProc、MDataTable等的Set方法的返回值void變更為this(2016-04-20)
242:MSSQL轉Mysql的預設值多了個()號處理。(2016-04-23)
243:增加引數化的多資料庫支援"=:?UserName" 中的"=:?"為相容語法,可自動被格式化成 [email protected] =: =? 等。(2016-04-23)
244:檢視語句增加對資料庫的識別:(select a.*,b.* from xxxx) 資料庫.v 會對映到 資料庫Conn 配置的資料庫連結(2016-04-25)
245:DBTool 開放兩個方法(Keyword 和NotKeyword)(2016-05-04)
246:修正Mysql的表是否存在判斷問題(2016-05-05)
247:DBTool.CreateTable 內部去掉表是否存在判斷,減少1次判斷(2016-05-06)
248:增加ISNULL函式多資料庫翻譯(2016-05-07)
249:縮短在DBTool.TestConn的等待時間為3秒(2016-05-08)
250:MDataTable批量插入對Mssql增加允許觸發觸發器(2016-05-09)
251:內部增加對Mysql bit型別where條件的格式化 xx='0' 變為xx=0(2016-05-13)
252:處理MySql內部細節(日期和Binary欄位)(2016-05-19)
253:處理一些小細節(如提示的錯別字:fine => find)(2016-05-31)
254:處理一些小細節(SQL注入的過濾關鍵詞取消‘char(’等函式)(2016-06-02)
255:where條件的格式化支援多條件方式,並處理分號等細節,如action.Delete("'123',323")(2016-06-04)
256:MAction(sql)相容sql語句處理。(2016-06-05)
257:自動取值對於空格的處理由TrimEnd變更更為Trim(2016-06-05)
258:增加MySql的批量語句支援(2016-06-16)
259:MDataTable增加Pivot行轉列方法(2016-06-17)
260:增加讀寫分離支援(直接配置web.config或app.config則可啟用)
如預設連結配置為“Conn”,增加配置項則可:Conn_Slave1、Conn_Slave2、 ... Conn_SlaveN(2016-06-24)
261:MProc和MAction關閉SetAop方法(2016-06-24)
262:MAction和MProc的EndTransation方法提交結束事務後,關閉連結,若失敗則自動回滾事務(2016-06-24)
263:Cache的Contains檢查Key時,如果已過期,自動移除並返回Null(2016-06-24)
264:為讀寫分離增加一致性業務處理功能。(2016-06-24)
265:增加AppConfig.DB.MasterSlaveTime 預設值10秒(處理主從庫時的操作業務快取時間)(2016-06-24)
266:增加分散式快取MemCached功能,原有Cache使用方式不變,只需要配置AppConfig.Cache.MemCacheServers則自動啟用(2016-06-26)
267:修改預設快取時間為1小時,去掉兩個不常用的快取配置項AppConfig.Cache.CacheClearCallCount和AppConfig.Cache.CacheClearTime(2016-06-26)
268:優化本地快取的定時清理機制、取消AppConfig.Cache.CacheClearCallCount配置項。(2016-06-28)
269:MSSQL查詢表列表時過濾掉系統自動產生的表,如複製訂閱功能啟用時產生的表(2016-06-28)
270:取消AppConfig.DB.ReplaceSqlInjection配置項,新增加AppConfig.DB.EditTimeFields項,指定欄位時,MAction的Update方法會自動更新該時間欄位為當前時間(2016-06-29)
271:資料結構MCellStruct增加IsUniqueKey,IsForeignKey,FKTableName三個屬性,對於where條件的單值,增加內部推導功能:action.Exists("路過秋天") 值為字串,主鍵為int或guid,會切為唯一鍵欄位去處理(2016-07-01)
272:MDataRow的LoadFrom(MDataRow row):改為預設不影響表結構,即不追加欄位(2016-07-02)
273:增加MDataRow和MDataColumn的除錯視覺化檢視:原始碼SVN下載地址:http://code.taobao.org/svn/cyqopen/trunk/CYQ.Visualizer/ (2016-07-02)
274:處理mysql批量導資料的分隔符問題(2016-07-03)
275:為MDataTable的相關查詢方法增加智慧推導【原本只有MAction有】(2016-07-03)
276:處理處理mysql批量導資料的符號轉義問題(2016-07-03)
277:將MAction的UI操作部分介面抽取到UI屬性、將Extension名稱空間的下IUIValue和RegisterUI移到CYQ.Data.UI下(2016-07-04)

278:修正:內部SysLogs系統寫日誌;(2016-07-04)

279:修正:事務時ADO.NET對GUID='123'的不拋異常但關掉事務引發的:事務回滾迴圈和後續業務不在事務中的問題。(2016-07-04)
280:修正Oracle時的連結字串密碼被轉小寫問題和優化ProviderName不區分大小寫。(2016-07-04)

專案的解決方案:

 1:專案解決方案:Action及Cache

2:DAl層、Extension、ORM、SQL、UI

3:Table、Tool

專案類關係圖:

1:繼承關係的:

 

2:組合關係的:

最後:

謝謝大夥幾年來一慣的支援!!以後框架的發揚光大就靠你們了!!