一、MySoft.Data说明
1、简介
MySoft是一套开源小型框架,包含ORM、Ajax、MVC、Net、Web等。MySoft.Data就是其中的ORM框架。支持多种不同数据库,如SqlServer、Oracle、MySql、SQLite、Firebird、Access等。MySoft.Data是一种轻量级的能替代SQL语句的易用的ORM框架
二、MySoft.Data使用步骤说明
a) 安装SetupEntityVsPlugin
双击SetupEntityVsPlugin把插件安装到相应的目录。如果使用的是VS2005需要修改SetupEntityVsPlugin.exe文件,把配置项AddInVersionName和AddInVersionNo设置为正确的数据
b) 生成实体文件MySoft.Tools.EntityDesign
使用MySoft.Tools.EntityDesign生成实体文件.
1、 选择使用的数据库:SQLServer、SQLServer2005、、、
2、 设置正确的数据库链接字符串
3、 点击“连接服务器”即把数据库里的表和视图显示在左边的框里
4、 选择需要生成实体的表或视图
5、 点击“选择文件夹”来选择要存储实体的路径
6、 点击“生成实体接口”来生成实体文件,把接口类显示在文本框内
7、 点击“生成多个文件”来生成真正的实体文件
说明:以上步骤是生成实体接口的步骤,在解决方案里新建一个项目文件把该生成的实体文件添加到项目里。该项目文件最好只存放实体接口类,对实体的说明性注释都在接口文件里操作。
c) EntityDesignConifg.xml配置文件
1、 把EntityDesignConifg.xml文件添加到实体接口类的项目里
2、 根据需要修改配置项
3、 CompileMode:表示编译的模式
4、 InputDllName:表示输入实体接口类的DLL文件名,即该项目生成的Dll的文件名
5、 OutputLanguage:表示输出实体类的语言,默认为C#
6、 OutputNamespace:表示输出实体类的命名空间
7、 EntityCodePath:表示输出实体类文件的路径,即把由实体接口类生成的实体类生成完存放的路径。
d) 生成实体文件
以上步骤做完后,编译实体接口项目,即生成了实体类。把生成的实体类添加到相应的项目里即可
e) 编写代码
在相应的项目里编写代码,可以直接引用生成的实体。注意命名空间。
三、MySoft.Data使用代码简单说明
a) DbSession
DbSession是MySoft.Data的数据库操作会话对象,是所有数据库操作的入口。
实例化:
1、指定DbSession操作的数据库
DbSession dbSession = new DbSession(new MySoft.Data.SqlServer9.SqlServer9Provider("数据库连接字符串"));
2、使DbSession操作默认的数据库
DbSession dbSession = new DbSession(MySoft.Data.ProviderFactory.Default);
3、From<> 查询功能
dbSession.From<实体类名>()
1、 Count:返回记录的条数
2、 Distinct:返回唯一的数据
3、 GroupBy:分组
4、 Having:分组条件
5、 OrderBy:排序
6、 Select:选择某些字段
7、 Where:添加查询条件
8、 ToReader:返回ISourceReader
9、 ToTable:返回ISourceTable
10、 ToList:返回ISourceList
11、 ToList<>:返回指定类型的ISourceList
4、Delete<> 删除功能
dbSession.Delete<实体类名>(new WhereClip("条件"))
5、Update<> 更新功能
dbSession.Update<实体类名>(字段参数组,值参数组,new WhereClip("条件"))
6、Save<> 插入功能
dbSession.Save<实体类名>(实体实例)
7、Insert<> 插入功能
dbSession.Insert<实体类名>(字段参数组,值参数组)
8、Exists<> 检查是否存在功能
dbSession.Exists<实体类名>(new WhereClip("条件"))
9、Single<> 得到数据功能
dbSession.Single<实体类名>(new WhereClip("条件"))
10、Count<> 统计条数功能
dbSession.Count<实体类名>(new WhereClip("条件"))
11、Max<> 统计最大功能
dbSession.Max<实体类名>(实体字段, new WhereClip("条件"))
12、Min<>统计最小功能
dbSession.Min<实体类名>(实体字段, new WhereClip("条件"))
13、AVG<> 统计平均功能
dbSession. AVG <实体类名>(实体字段, new WhereClip("条件"))
14、Sum<> 统计总合功能
dbSession.Min<实体类名>(实体字段, new WhereClip("条件"))
b) DbBatch
批量执行操作
DbBatch batch = dbSession.BeginBatch();
1、 batch.Delete<StockConfig> 做删除操作
2、 batch.Insert<StockConfig> 做插入操作
3、 batch.Update<StockConfig> 做更新操作
4、 batch.Save<StockConfig> 做插入操作
5、 batch.Process() 真正的执行操作
说明:该操作一个批量只用使用相同一操作,Delete,Insert,Update,Save只是标识操作,只有执行了Process才是真正的操作了
c) DbHelper
执行DB帮忙操作
DbHelper helper = new DbHelper("连接字符串", ProviderFactory.Default);
d) DbTrans
事务
DbTrans tran = dbSession.BeginTrans();
其它操作和VS自带事务操作一样,只是操作数据用tran来操作.
e) ProviderFactory
数据库提供者工厂类
ProviderFactory.Default
ProviderFactory. CreateDbProvider