Update demo

This commit is contained in:
sunkaixuna 2021-11-11 18:52:08 +08:00
parent 92099f66cc
commit d0e786324b

View File

@ -279,7 +279,7 @@ namespace OrmTest
// Example 2 // Example 2
Console.WriteLine("Example 2"); Console.WriteLine("Example 2");
var result=db.UseTran(() => var result = db.UseTran(() =>
{ {
db.ChangeDatabase("1");//use db1 db.ChangeDatabase("1");//use db1
@ -294,7 +294,8 @@ namespace OrmTest
throw new Exception(""); throw new Exception("");
}); });
if (result.IsSuccess == false) { if (result.IsSuccess == false)
{
Console.WriteLine("---Roll back"); Console.WriteLine("---Roll back");
db.ChangeDatabase("1");//use db1 db.ChangeDatabase("1");//use db1
Console.WriteLine(db.CurrentConnectionConfig.DbType); Console.WriteLine(db.CurrentConnectionConfig.DbType);
@ -307,35 +308,8 @@ namespace OrmTest
// Example 3 // Example 3
Console.WriteLine("Example 3"); Console.WriteLine("Example 3");
Task<DbResult<bool>> result2 = AsyncTranDemo(db);
var result2 = db.UseTranAsync(async () =>
{
db.ChangeDatabase("1");//use db1
await db.Deleteable<Order>().ExecuteCommandAsync();
Console.WriteLine("---Delete all " + db.CurrentConnectionConfig.DbType);
Console.WriteLine(db.Queryable<Order>().Count());
db.ChangeDatabase("2");//use db2
await db.Deleteable<Order>().ExecuteCommandAsync();
Console.WriteLine("---Delete all " + db.CurrentConnectionConfig.DbType);
Console.WriteLine(db.Queryable<Order>().Count());
throw new Exception("");
});
result2.Wait(); 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<Order>().Count());
db.ChangeDatabase("2");//use mysql
Console.WriteLine(db.CurrentConnectionConfig.DbType);
Console.WriteLine(db.Queryable<Order>().Count());
}
// Example 4 // Example 4
Console.WriteLine("Example 4"); Console.WriteLine("Example 4");
@ -363,6 +337,41 @@ namespace OrmTest
} }
Console.WriteLine("#### Distributed TransactionExample End ####"); Console.WriteLine("#### Distributed TransactionExample End ####");
} }
/// <summary>
///Async tran demo
/// </summary>
/// <param name="db"></param>
/// <returns></returns>
private static async Task<DbResult<bool>> AsyncTranDemo(SqlSugarClient db)
{
//need await all
var result2 =await db.UseTranAsync(async () =>
{
//need await all
db.ChangeDatabase("1");//use db1
await db.Deleteable<Order>().ExecuteCommandAsync();
Console.WriteLine("---Delete all " + db.CurrentConnectionConfig.DbType);
Console.WriteLine(db.Queryable<Order>().Count());
db.ChangeDatabase("2");//use db2
await db.Deleteable<Order>().ExecuteCommandAsync();
Console.WriteLine("---Delete all " + db.CurrentConnectionConfig.DbType);
Console.WriteLine(db.Queryable<Order>().Count());
throw new Exception("");
});
Console.WriteLine("---Roll back");
db.ChangeDatabase("1");//use sqlserver
Console.WriteLine(db.CurrentConnectionConfig.DbType);
Console.WriteLine(db.Queryable<Order>().Count());
db.ChangeDatabase("2");//use mysql
Console.WriteLine(db.CurrentConnectionConfig.DbType);
Console.WriteLine(db.Queryable<Order>().Count());
return result2;
}
} }
/// <summary> /// <summary>