CYQ.Data 輕量資料層之路 V4.3 版本發布[增加對SQLite,MySQL資料庫的支援]

來源:互聯網
上載者:User

前言:

繼上一版本:CYQ.Data 輕量資料層之路 V4.0 版本發布 ,又過去一個來月了,不過也過了一個新年了。

 

由於過年原因,因此架構也沒多折騰什麼,只是年前年後順路把SQLite,MySQL兩種資料庫給支援上了。

 

提示:基於網友的提醒,本次版本發布帶CYQ.Data.xml,增加了方法的中文提示。

 

下面看一下新版本的修改記錄

1:MAction的建構函式允許從MDataRow載入

2:MutilLanguage在設定Cookie時也同時設定語言標識

3:MutilLanguage預設語言取自瀏覽器語言

4:取消CYQ.Data.SQL.OutPutData類及兩個相關枚舉TableType|DataBaseType,將[產生枚舉|建立分頁預存程序|建立日誌表]等操作單獨移到協助工具輔助實現

5:取消ProcedureSql,新增SchemaAction來擷取表架構資料

6:增加對SQLite資料的支援

9:MAction增加從Json反載入資料填充

7:增加對MySql資料庫的支援

8:提升資料表架構的緩衝層級:MDataColumn->MDataRow

 

 

下面進行詳細的解說

 

一:MAction的建構函式允許從MDataRow載入

 

 增加這個原因,是基於 秋色園 應用中,考慮到資料重用的問題,簡單解說一下:

1: 秋色園 緩衝了使用者的資訊,就是一行資料了,OK,那麼實際上對所有使用者的操作都來自同一張表,於是,可以直接從緩衝的Row中取資料表結構進行反填充即可以了。

由於資料表結構本身就有緩衝,所以上面的填充效果,簡單的看是不太明顯的。

2:當使用者編輯自己資料時,當獨的資料行無法進行操作,因此時候填充,可以迅速轉成可操作的MAction,節省一定的開銷。

 

二:MutilLanguage在設定Cookie時也同時設定語言標識

三:MutilLanguage預設語言取自瀏覽器語言

 

在 秋色園 中,多語言應用的是比較廣的,因此考慮的因素也是相對較多,包括對使用者的瀏覽器語言判別來顯示不同的語言文章,和通過顯示的尾碼和非尾碼等情況做處理,所以小小的需要改動一下。

順便說一下:CYQ.Data.Xml名稱空間下的內容,千萬不要放過。

 

四:取消CYQ.Data.SQL.OutPutData類及兩個相關枚舉TableType|DataBaseType,將[產生枚舉|建立分頁預存程序|建立日誌表]等操作單獨移到協助工具輔助實現
五:取消ProcedureSql,新增SchemaAction來擷取表架構資料

 

這兩個的調整,主要是為了減輕架構的大小,同時內部類重新最佳化了一下結構,不影響外圍使用。

同時,去掉OutPutData類,意味著一些協助工具功能,只能借協助工具輔助實現,包括產生mssql/oracle的分頁預存程序。

 

六:增加對SQLite資料的支援

七:增加對MySql資料庫的支援


採用外掛程式式方式載入,如果需要使用,只要把相應的 MySql.Data.dll 或者 System.Data.SQLite.dll CYQ.Data.dll 放在一起即可。

由於SQLite和Access都是單個文章方式,因此資料庫連結配置方式類似如下:

<appSettings>
        <add key="AccessDbNameForWeb" value="App_Data/myspace.mdb"/>
        <add key="SQLiteDbNameForWeb" value="App_Data/sqlitedemo.db"/>
    </appSettings>
    <connectionStrings>
        <!--<add name="Conn" connectionString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}" providerName="System.Data.OleDb" />
        <add name="Conn" connectionString="Data Source={0}" providerName="System.Data.SQLite"/>-->
        <add name="Conn" connectionString="server=localhost;port=3309;user id=root;password=123456;database=mysqldemo" providerName="MySql.Data.MySqlClient"/>
        
    </connectionStrings>

 

八:提升資料表架構的緩衝層級:MDataColumn->MDataRow

 

表架構快取提升了一個層級,理論上效能是提升的,本屬內部最佳化之事。

 

九:MAction增加從Json反載入資料填充

 

增加的這個功能是為Ajax應用準備的,應用範例程式碼:

            using (MAction action = new MAction("Blog_User"))
            {
                action.GetFromJson("{id:2,name:\"秋色園\",url:\"www.cyqdata.com\"}");
                action.Update();
            }

結果就是把id為2的行資料的name和url欄位更改為相應的資料。

 

十:V4.3 架構下載

 

:下載中心-秋色園

PS:由於新增加資料庫,相應的協助工具輔助V4.3版本也同時提供下載。 

 

十一:CYQ.Data架構項目案例

 

網址:http://www.cyqdata.com/cyqdata/article-cate-81

 

歡迎大夥繼續提供CYQ.Data架構項目案例。

 

後言:

到本版本為止,支援的資料庫類型為:Access/MSSQL[2000/2005/2008]/Oracle/SQLite/MySQL

其中Access/MSSQL兩個系列在大量的項目應用中應用過後,已相當的穩定。

對於Oracle,在測試中通過,已有兄台在實際應用項目中應用,靜待發布項目案例的那天。

對於SQLite和MySQL,在測試中通過,歡迎大夥在實際應用中若遇到問題歡迎反饋。

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.