前言:
继上一版本: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.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
="server=localhost;port=3309;userid=root;password=123456;database=MysqLdemo"
providerName
="MysqL.Data.MysqLClient"
/>
connectionStrings
>
八:提升数据表架构的缓存级别:MDataColumn->MDataRow
表架构缓存提升了一个级别,理论上性能是提升的,本属内部优化之事。
九:MAction增加从Json反加载数据填充
增加的这个功能是为Ajax应用准备的,应用示例代码:
using
(MActionaction
=
new
MAction(
"
Blog_User
"
))
{
action.GetFromJson(
"
{id:2,name:\
"
秋色园\
"
,url:\
"
www.cyqdata.com\
"
}
"
);
action.Update();
}
结果就是把id为2的行数据的name和url字段更改为相应的数据。
十:V4.3 框架下载
PS:由于新增加数据库,相应的辅助工具V4.3版本也同时提供下载。
后言:
到本版本为止,支持的数据库类型为:Access
/
MSsql[
2000
/
2005
/
2008
]
/
Oracle
/
sqlite
/
MysqL
其中Access
/
MSsql两个系列在大量的项目应用中应用过后,已相当的稳定。对于Oracle,在测试中通过,已有兄台在实际应用项目中应用,静待发布项目案例的那天。对于sqlite和MysqL,在测试中通过,欢迎大伙在实际应用中若遇到问题欢迎反馈。
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250