首页 > 代码库 > Farseer.net轻量级开源框架 入门篇:事务的使用中级篇

Farseer.net轻量级开源框架 入门篇:事务的使用中级篇

导航

目   录:Farseer.net轻量级开源框架 目录

上一篇:Farseer.net轻量级开源框架 入门篇: 查询数据详解

下一篇:Farseer.net轻量级开源框架 中级篇: 执行SQL语句

DbExecutor 的使用

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

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

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

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

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

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

导航

目   录:Farseer.net轻量级开源框架 目录

上一篇:Farseer.net轻量级开源框架 入门篇: 查询数据详解

下一篇:Farseer.net轻量级开源框架 中级篇: 执行SQL语句

Farseer.net轻量级开源框架 入门篇:事务的使用中级篇