持久数据层框架设计(二)
来源:互联网 发布:高中知识点软件 编辑:程序博客网 时间:2024/05/21 12:29
在很久之前发布了一篇《持久数据层框架设计(一)》后,有不少人关注,如今,总算Release一个稍微完整的测试版出来,提供DLL,并附配置说明。欢迎体验并提出宝贵的建议。
下面将配置文件以例子形式整理如下:
1. 在App.config或Web.config里配置
<configSections>
<section name="Data" type="Zivsoft.Data.ConfigHandler,Zivsoft.Data,Version=3.5.3295.29087,Culture=neutral, PublicKeyToken=3266f10ce3531d0e"/>
</configSections>
<Data DbType="SQLServer">
<Access type="Zivsoft.Data.Access.AccessDbOperator;Zivsoft.Data.Access,Version=3.5.3295.29087,Culture=neutral, PublicKeyToken=3266f10ce3531d0e">
<add key="ConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=~/Db/SOAWeb.mdb"/>
<add key="AutoCreateTable" value="false"/>
<add key="AutoCreateDb" value="true"/>
</Access>
<SQLServer type="Zivsoft.Data.SQLServer.SqlServerDbOperator;Zivsoft.Data.SQLServer,Version=1.0.3295.29087,Culture=neutral, PublicKeyToken=3266f10ce3531d0e">
<add key="ConnectionString" value="Data Source=Lihua-PC/SQLEXPRESS;Initial Catalog=Sample;Integrated Security=True;Pooling=False"/>
<add key="AutoCreateTable" value="true"/>
<add key="AutoCreateDb" value="true"/>
</SQLServer>
<MySQL type="Zivsoft.Data.MySQL.MYSqlDbOperator;Zivsoft.Data.MYSQL,Version=1.0.3295.29087,Culture=neutral, PublicKeyToken=3266f10ce3531d0e">
<add key="ConnectionString" value="……"/>
<add key="AutoCreateTable" value="true"/>
<add key="AutoCreateDb" value="false"/>
</MySQL>
</Data>
<section name="Data" type="Zivsoft.Data.ConfigHandler,Zivsoft.Data,Version=3.5.3295.29087,Culture=neutral, PublicKeyToken=3266f10ce3531d0e"/>
</configSections>
<Data DbType="SQLServer">
<Access type="Zivsoft.Data.Access.AccessDbOperator;Zivsoft.Data.Access,Version=3.5.3295.29087,Culture=neutral, PublicKeyToken=3266f10ce3531d0e">
<add key="ConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=~/Db/SOAWeb.mdb"/>
<add key="AutoCreateTable" value="false"/>
<add key="AutoCreateDb" value="true"/>
</Access>
<SQLServer type="Zivsoft.Data.SQLServer.SqlServerDbOperator;Zivsoft.Data.SQLServer,Version=1.0.3295.29087,Culture=neutral, PublicKeyToken=3266f10ce3531d0e">
<add key="ConnectionString" value="Data Source=Lihua-PC/SQLEXPRESS;Initial Catalog=Sample;Integrated Security=True;Pooling=False"/>
<add key="AutoCreateTable" value="true"/>
<add key="AutoCreateDb" value="true"/>
</SQLServer>
<MySQL type="Zivsoft.Data.MySQL.MYSqlDbOperator;Zivsoft.Data.MYSQL,Version=1.0.3295.29087,Culture=neutral, PublicKeyToken=3266f10ce3531d0e">
<add key="ConnectionString" value="……"/>
<add key="AutoCreateTable" value="true"/>
<add key="AutoCreateDb" value="false"/>
</MySQL>
</Data>
2. 单独文件中配置
如果在单独文件配置,你需要一个新建Data.xml文件在当前目录,或在App_Data目录里。格式如下:
<?xml version="1.0" encoding="utf-8" ?>
<Config>
<!--my area-->
<Data DbType="Access">
<Access type="Zivsoft.Data.Access.AccessDbOperator;Zivsoft.Data.Access,Version=1.0.3295.29087,Culture=neutral, PublicKeyToken=3266f10ce3531d0e">
<add key="ConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/Db/SOAWeb.mdb"/>
<add key="AutoCreateTable" value="false"/>
<add key="AutoCreateDb" value="true"/>
</Access>
<SQLServer type="Zivsoft.Data.SQLServer.SqlServerDbOperator;Zivsoft.Data.SQLServer,Version=1.0.3295.29087,Culture=neutral, PublicKeyToken=3266f10ce3531d0e">
<add key="ConnectionString" value="Data Source=Lihua-PC/SQLEXPRESS;Initial Catalog=Sample;Integrated Security=True;Pooling=False"/>
<add key="AutoCreateTable" value="true"/>
<add key="AutoCreateDb" value="true"/>
</SQLServer>
</Data>
<Localization loc="en-us">
<en-us>App_Data/Localization/ResourceEn.xml</en-us>
<zh-cn>App_Data/Localization/ResourceCn.xml</zh-cn>
<zh-tw>App_Data/Localization/ResourceTw.xml</zh-tw>
<jp-wh>App_Data/Localization/ResourceJp.xml</jp-wh>
<ko-kr>App_Data/Localization/ResourceKo.xml</ko-kr>
<es-mx>App_Data/Localization/ResourceEs.xml</es-mx>
</Localization>
<Log level="DEBUG">
<LogFile>App_Data/log.log</LogFile>
</Log>
</Config>
<Config>
<!--my area-->
<Data DbType="Access">
<Access type="Zivsoft.Data.Access.AccessDbOperator;Zivsoft.Data.Access,Version=1.0.3295.29087,Culture=neutral, PublicKeyToken=3266f10ce3531d0e">
<add key="ConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/Db/SOAWeb.mdb"/>
<add key="AutoCreateTable" value="false"/>
<add key="AutoCreateDb" value="true"/>
</Access>
<SQLServer type="Zivsoft.Data.SQLServer.SqlServerDbOperator;Zivsoft.Data.SQLServer,Version=1.0.3295.29087,Culture=neutral, PublicKeyToken=3266f10ce3531d0e">
<add key="ConnectionString" value="Data Source=Lihua-PC/SQLEXPRESS;Initial Catalog=Sample;Integrated Security=True;Pooling=False"/>
<add key="AutoCreateTable" value="true"/>
<add key="AutoCreateDb" value="true"/>
</SQLServer>
</Data>
<Localization loc="en-us">
<en-us>App_Data/Localization/ResourceEn.xml</en-us>
<zh-cn>App_Data/Localization/ResourceCn.xml</zh-cn>
<zh-tw>App_Data/Localization/ResourceTw.xml</zh-tw>
<jp-wh>App_Data/Localization/ResourceJp.xml</jp-wh>
<ko-kr>App_Data/Localization/ResourceKo.xml</ko-kr>
<es-mx>App_Data/Localization/ResourceEs.xml</es-mx>
</Localization>
<Log level="DEBUG">
<LogFile>App_Data/log.log</LogFile>
</Log>
</Config>
3. 配置主要以上两大类。另外需要提一下GAC。
由于程序集都是强命名,你可以将DLL都丢到GAC里面,但注意配置里必须指定完整的信息如下:
<Access type="Zivsoft.Data.Access.AccessDbOperator;Zivsoft.Data.Access,Version=1.0.3295.29087,Culture=neutral, PublicKeyToken=3266f10ce3531d0e">
如果不需要扔到GAC里,配置可以简化如下:
<Access type="Zivsoft.Data.Access.AccessDbOperator;Zivsoft.Data.Access">
4. 关于扩展。
由于程序集中Zivsoft.Data.dll含有所有数据操作、ORM等等接口,你可以继承IDbOperator来扩展对其它数据库的支持,如DB2, MySQL, Oracle等。目前我只做了常用的SQLServer和Access。
5. 如何自动生成实体Entity。
程序包里有一个Zivsoft.Data.ORM.Setup.dll,你可以执行里面的接口,指定数据库,自动生成zivsoft.Data.ORM.Entity.dll。
至于细节的实体类(Entity)的如何调用,外键关联等,在这篇不多写了,大家先自己摸索,与所有ORM大同小异,我有空再来完善这篇随笔,希望长期关注,多提建议。哈哈!
- 持久数据层框架设计(二)
- 持久数据层框架设计(一)
- 数据持久层框架
- 数据持久层框架Hibernate
- spring整合使用持久层框架mybatis(二)
- 数据持久层(04)_持久层的概要设计
- 数据持久层框架备忘录(手机平台)
- java 数据持久层的框架(完全转载)
- 数据持久层框架Hibernate入门学习
- Java数据持久层框架 MyBatis
- J2EE项目中的数据持久层设计
- 应用程序框架设计之二:分层和层间数据传递(上)
- 应用程序框架设计之二:分层和层间数据传递(下)
- 二.数据访问层设计
- Mybatis持久层框架(详细讲解)
- ORM/持久层框架
- 持久层框架综述
- 持久层框架---MyBatis
- 数据库优化方法(三)
- 根据Merge Sort原理, 自己实现的归并排序算法+详细注释+代码(C#,C/C++) [分享]
- PowerShell 经典脚本贮藏室
- 常用工具汇总-备忘
- PowerShell学习笔记[分享]
- 持久数据层框架设计(二)
- 作诗一首
- 微软Office Live Workspace最近的一些新Features
- 分类汇总(复杂一点)
- 蜘蛛爬虫网络高像素图片抓取工具[搜索引擎]
- 使用Win7后感
- 看世间,论成败,人生只不过是要豪迈
- libdca解码器32位定点化
- 服务层框架设计(二)——服务请求示例