CYQ.Data 轻量数据层之路 V4.3 版本发布[增加对SQLite,MySQL数据库的支持]-阿里云开发者社区

开发者社区> 泡泡浅眠> 正文

CYQ.Data 轻量数据层之路 V4.3 版本发布[增加对SQLite,MySQL数据库的支持]

简介:
+关注继续查看

前言:

继上一版本:CYQ.Data 轻量数据层之路 V4.0 版本发布 ,又过去一个来月了,不过也过了一个新年了。

 

由于过年原因,因此框架也没多折腾什么,只是年前年后顺路把SQLite,MySQL两种数据库给支持上了。

 

提示:基于网友的提醒,本次版本发布带CYQ.Data.xml,增加了方法的中文提示。

 

下面看一下新版本的修改记录

复制代码
ExpandedBlockStart.gif
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都是单个文章方式,因此数据库链接配置方式类似如下:

复制代码
ExpandedBlockStart.gif
<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应用准备的,应用示例代码:

复制代码
ExpandedBlockStart.gif
            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框架项目案例

 

后言:

复制代码
ExpandedBlockStart.gif
到本版本为止,支持的数据库类型为:Access/MSSQL[2000/2005/2008]/Oracle/SQLite/MySQL

其中Access
/MSSQL两个系列在大量的项目应用中应用过后,已相当的稳定。

对于Oracle,在测试中通过,已有兄台在实际应用项目中应用,静待发布项目案例的那天。

对于SQLite和MySQL,在测试中通过,欢迎大伙在实际应用中若遇到问题欢迎反馈。
复制代码

 

版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:

http://www.cnblogs.com/cyq1162/archive/2011/02/15/1955025.html

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Unity 之 获取发布APK的SHA1值步骤详解
Unity获取发布APK的SHA1值步骤详解, 以Unity2019为例进行解析。
24 0
支持中低频量化交易的单机数据平台
支持中低频量化交易的单机数据平台,使用InfluxDB存储实时交易数据,HDF5存储静态历史数据用于回测。
2635 0
阿里云新品发布会周刊第43期 丨 战疫期间,钉钉如何抗住暴增的百倍流量?
新产品、新版本、新技术、新功能、价格调整,评论在下方,下期更新!关注更多新品发布会!
300 0
iOS数据持久化-SQLite数据库使用详解
<h1><strong>使用SQLite数据库</strong></h1> <h2><strong>创建数据库</strong></h2> <p>创建数据库过程需要3个步骤:</p> <p>1、使用sqlite3_open函数打开数据库;</p> <p>2、使用sqlite3_exec函数执行Create Table语句,创建数据库表;</p> <p>3、使用sqlite3_close函数释放
984 0
mysql 关联表修改数据
UPDATE t1 INNER JOIN t2 ON t1.c1=t2.c1  SET t1.c2=value WHERE t1`removed`=0 AND t2`removed`=0 AND t1.c3='[]'
947 0
【阿里云新品发布·周刊】第3期:零算法基础快速训练稳定、高效的AI模型
将你想了解的,新产品、新版本、新技术、新功能、价格调整,评论在下方,下期更新!
9031 0
智能数据引擎Dataphin重磅发布,提供一站式的技术管理能力
面对各行各业日趋强烈的大数据建设、管理及应用诉求,2018年2月28日MWC大会,阿里云重磅推出了智能数据构建与管理平台Dataphin——从数据接入到数据消费全链路,提供一站式的大数据能力,包括产品、技术和方法论等,致力于助力企业打造标准统一、融会贯通、资产化、服务化、闭环自优化的智能数据体系。
9624 0
+关注
2248
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载