博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Farseer.net轻量级开源框架 中级篇:事务的使用
阅读量:5102 次
发布时间:2019-06-13

本文共 2877 字,大约阅读时间需要 9 分钟。

导航

目   录:

上一篇:

下一篇:

DbExecutor 的使用

使用事务,我们需要用到一个类:DbExecutor 它的命名空间在:FS.Core.Data 中,我们先看下它的参数:

1         /// 2         ///     构造函数3         /// 4         /// 数据库类型5         /// 数据库连接字符串6         /// 数据库执行时间,单位秒7         /// 开启事务等级8         public DbExecutor(DataBaseType dbType, string connnection, int commandTimeout, IsolationLevel tranLevel = IsolationLevel.Unspecified)
DataBaseType  是框架定义的数据库类型枚举,也是目前框架所能支持的数据库。
1     ///  2     ///     数据库类型 3     ///  4     public enum DataBaseType 5     { 6         ///  7         ///     SqlServer数据库 8         ///  9         [Display(Name = "System.Data.SqlClient")]10         SqlServer,11 12         /// 13         ///     Access数据库14         /// 15         [Display(Name = "System.Data.OleDb")]16         OleDb,17 18         /// 19         ///     MySql数据库20         /// 21         [Display(Name = "MySql.Data.MySqlClient")]22         MySql,23 24         /// 25         ///     Xml26         /// 27         [Display(Name = "System.Linq.Xml")]28         Xml,29 30         /// 31         ///     SQLite32         /// 33         [Display(Name = "System.Data.SQLite")]34         SQLite,35 36         /// 37         ///     Oracle38         /// 39         [Display(Name = "System.Data.OracleClient")]40         Oracle,41     }
事务使用举例

现在我们看看是如何使用的,这里使用了两个实体,即两张表

1         //最原始的方式。2         using (DbExecutor db = new DbExecutor(DataBaseType.SqlServer, "User ID=sa;Password=123456;Pooling=true;Data Source=.;Initial Catalog=Farseer;", 30, System.Data.IsolationLevel.ReadCommitted))3         {4             new Users { UserName = "李四" }.Insert(db);5             RoleDB.Data.Delete(db);6             RoleDB.Data.Update(new RoleDB { Caption = "管理员" }, db);7 8             db.Commit();9         }
1         // 利用DbFactory,创建了DbExecutor对象2         // 第1个参数 0 代表的是数据库配置:DbConfig 的索引项。在:~/App_Data/Db.config 中3         using (DbExecutor db = DbFactory.CreateDbExecutor(0, System.Data.IsolationLevel.ReadCommitted))4         {5             // ..........这里是事务的操作6             db.Commit();7         }
1         // 利用Users泛型,创建了DbExecutor对象  2         // 会通过对Users缓存的反射结果,查询这个实体的数据库连接方式。(其实还是转到数据库配置索引项)3         using (DbExecutor db = DbFactory.CreateDbExecutor
(System.Data.IsolationLevel.ReadCommitted))4 {5 // ..........这里是事务的操作6 db.Commit();7 }

DbFactory会根据数据库的类型,创建对应的服务。具体的使用说明,留在下几篇专门说明,这里了解下就可以了。

DbConfig是框架提供的配置文件,在这里也只是简单说明下,留在下几篇专门说明,这里了解下就可以了。

这样,我们的事务就完成了。操作起来相当方便。当然这里提供的是同一个物理数据库。

如果使用不同物理数据库。则不能使用DbExcutor了。可以使用.net 的 TransactionScope

导航

目   录:

上一篇:

下一篇:

广告时间

QQ群:116228666 (Farseer.net开源框架交流) 请注明:Farseer.Net

Farseer.Net是一款ORM框架 + 常用工具 + 扩展集合。

Farseer 意为:先知、预言家 通常在某些场合时,提供计谋、策略。也希望该框架能给大家提供最大化的便捷。

ORM:其英文全称是:Object(对象) Relational(关系) Mapping(映射)

Farseer.Net的目标是:快速上手、快速开发、简单方便。

1 new User { ID = 1, Name = "张三" }.Insert()

转载于:https://www.cnblogs.com/steden/p/4075762.html

你可能感兴趣的文章
好莱坞十大导演排名及其代表作,你看过多少?
查看>>
JVM-class文件完全解析-类索引,父类索引和索引集合
查看>>
Loj #139
查看>>
StringBuffer是字符串缓冲区
查看>>
hihocoder1187 Divisors
查看>>
java入门
查看>>
Spring 整合 Redis
查看>>
Azure 托管镜像和非托管镜像对比
查看>>
SQLite3初探
查看>>
多线程/多进程/异步IO
查看>>
leetcode 442. 数组中重复的数据 java
查看>>
struts2 文件上传下载注解示例
查看>>
编写一个简单的JAVA WEB Servlet页面
查看>>
JSP:Cookie实现永久登录(书本案例)
查看>>
js window.open 参数设置
查看>>
032. asp.netWeb用户控件之一初识用户控件并为其自定义属性
查看>>
linux--GCC用法
查看>>
Ubuntu下安装MySQL及简单操作
查看>>
OWIN是什么?
查看>>
前端监控
查看>>