Farseer.net輕量級開源框架 中級篇:事務的使用

導航

目   錄:Farseer.net輕量級開源框架 目錄html

上一篇:Farseer.net輕量級開源框架 入門篇: Where條件的終極使用數據庫

下一篇:Farseer.net輕量級開源框架 中級篇: 執行SQL語句緩存

DbExecutor 的使用

使用事務,咱們須要用到一個類:DbExecutor 它的命名空間在:FS.Core.Data 中,咱們先看下它的參數:app

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         ///     Xml
26         /// </summary>
27         [Display(Name = "System.Linq.Xml")]
28         Xml,
29 
30         /// <summary>
31         ///     SQLite
32         /// </summary>
33         [Display(Name = "System.Data.SQLite")]
34         SQLite,
35 
36         /// <summary>
37         ///     Oracle
38         /// </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是框架提供的配置文件,在這裏也只是簡單說明下,留在下幾篇專門說明,這裏瞭解下就能夠了。工具

這樣,咱們的事務就完成了。操做起來至關方便。固然這裏提供的是同一個物理數據庫。spa

若是使用不一樣物理數據庫。則不能使用DbExcutor了。可使用.net 的 TransactionScope.net

導航

目   錄:Farseer.net輕量級開源框架 目錄code

上一篇:Farseer.net輕量級開源框架 入門篇: Where條件的終極使用

下一篇:Farseer.net輕量級開源框架 中級篇: 執行SQL語句

廣告時間

QQ羣:116228666 (Farseer.net開源框架交流) 請註明:Farseer.Net

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

Farseer 意爲:先知、預言家 一般在某些場合時,提供計謀、策略。也但願該框架能給你們提供最大化的便捷。

ORM:其英文全稱是:Object(對象) Relational(關係) Mapping(映射)

Farseer.Net的目標是:快速上手、快速開發、簡單方便。

1 new User { ID = 1, Name = "張三" }.Insert()
相關文章
相關標籤/搜索