diff --git a/Src/Asp.NetCore2/GbaseTest/Demo/Demo0_SqlSugarClient.cs b/Src/Asp.NetCore2/GbaseTest/Demo/Demo0_SqlSugarClient.cs index d0f198f49..b48394561 100644 --- a/Src/Asp.NetCore2/GbaseTest/Demo/Demo0_SqlSugarClient.cs +++ b/Src/Asp.NetCore2/GbaseTest/Demo/Demo0_SqlSugarClient.cs @@ -16,7 +16,6 @@ namespace OrmTest SqlSugarClient();//Create db DbContext();//Optimizing SqlSugarClient usage SingletonPattern();//Singleten Pattern - DistributedTransactionExample(); MasterSlave();//Read-write separation CustomAttribute(); } @@ -227,130 +226,7 @@ where a.tabtype in ('T', 'V') and not (a.tabname like 'sys%') AND a.tabname <>' }); - private static void DistributedTransactionExample() - { - Console.WriteLine(""); - Console.WriteLine("#### Distributed TransactionExample Start ####"); - SqlSugarClient db = new SqlSugarClient(new List() - { - new ConnectionConfig(){ ConfigId="1", DbType=DbType.GBase, ConnectionString=Config.ConnectionString,InitKeyType=InitKeyType.Attribute,IsAutoCloseConnection=true }, - new ConnectionConfig(){ ConfigId="2", DbType=DbType.GBase, ConnectionString=Config.ConnectionString2 ,InitKeyType=InitKeyType.Attribute ,IsAutoCloseConnection=true} - }); - - var db1 = db.Ado.Connection.Database; - //use db1 - db.CodeFirst.SetStringDefaultLength(200).InitTables(typeof(Order), typeof(OrderItem));// - db.Insertable(new Order() { Name = "order1", CreateTime = DateTime.Now }).ExecuteCommand(); - Console.WriteLine(db.CurrentConnectionConfig.DbType + ":" + db.Queryable().Count()); - - //use db2 - db.ChangeDatabase("2"); - var db2 = db.Ado.Connection.Database; - db.DbMaintenance.CreateDatabase();//Create Database2 - db.CodeFirst.SetStringDefaultLength(200).InitTables(typeof(Order), typeof(OrderItem)); - db.Insertable(new Order() { Name = "order1", CreateTime = DateTime.Now }).ExecuteCommand(); - Console.WriteLine(db.CurrentConnectionConfig.DbType + ":" + db.Queryable().Count()); - - if (db2 == db1) - { - return; - } - - // Example 1 - Console.WriteLine("Example 1"); - try - { - db.BeginTran(); - - db.ChangeDatabase("1");//use db1 - db.Deleteable().ExecuteCommand(); - Console.WriteLine("---Delete all " + db.CurrentConnectionConfig.DbType); - Console.WriteLine(db.Queryable().Count()); - - db.ChangeDatabase("2");//use db2 - db.Deleteable().ExecuteCommand(); - Console.WriteLine("---Delete all " + db.CurrentConnectionConfig.DbType); - Console.WriteLine(db.Queryable().Count()); - - throw new Exception(); - db.CommitTran(); - } - catch - { - db.RollbackTran(); - Console.WriteLine("---Roll back"); - db.ChangeDatabase("1");//use db1 - Console.WriteLine(db.CurrentConnectionConfig.DbType); - Console.WriteLine(db.Queryable().Count()); - - db.ChangeDatabase("2");//use db2 - Console.WriteLine(db.CurrentConnectionConfig.DbType); - Console.WriteLine(db.Queryable().Count()); - } - - - - // Example 2 - Console.WriteLine("Example 2"); - - var result=db.UseTran(() => - { - - db.ChangeDatabase("1");//use db1 - db.Deleteable().ExecuteCommand(); - Console.WriteLine("---Delete all " + db.CurrentConnectionConfig.DbType); - Console.WriteLine(db.Queryable().Count()); - - db.ChangeDatabase("2");//use db2 - db.Deleteable().ExecuteCommand(); - Console.WriteLine("---Delete all " + db.CurrentConnectionConfig.DbType); - Console.WriteLine(db.Queryable().Count()); - throw new Exception(""); - - }); - if (result.IsSuccess == false) { - Console.WriteLine("---Roll back"); - db.ChangeDatabase("1");//use db1 - Console.WriteLine(db.CurrentConnectionConfig.DbType); - Console.WriteLine(db.Queryable().Count()); - - db.ChangeDatabase("2");//use db2 - Console.WriteLine(db.CurrentConnectionConfig.DbType); - Console.WriteLine(db.Queryable().Count()); - } - - // Example 3 - Console.WriteLine("Example 3"); - - var result2 = db.UseTranAsync(async () => - { - - db.ChangeDatabase("1");//use db1 - await db.Deleteable().ExecuteCommandAsync(); - Console.WriteLine("---Delete all " + db.CurrentConnectionConfig.DbType); - Console.WriteLine(db.Queryable().Count()); - - db.ChangeDatabase("2");//use db2 - await db.Deleteable().ExecuteCommandAsync(); - Console.WriteLine("---Delete all " + db.CurrentConnectionConfig.DbType); - Console.WriteLine(db.Queryable().Count()); - throw new Exception(""); - - }); - result2.Wait(); - if (result2.Result.IsSuccess == false) - { - Console.WriteLine("---Roll back"); - db.ChangeDatabase("1");//use sqlserver - Console.WriteLine(db.CurrentConnectionConfig.DbType); - Console.WriteLine(db.Queryable().Count()); - - db.ChangeDatabase("2");//use mysql - Console.WriteLine(db.CurrentConnectionConfig.DbType); - Console.WriteLine(db.Queryable().Count()); - } - - } + } ///