From cd866ff49ac924d2bd01eecc24d0ae9007cc1601 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 28 Mar 2024 13:49:06 +0800 Subject: [PATCH] Add demo --- .../UserTestCases/UnitTest/CrossDatabase02.cs | 67 +++++++++++++++++++ .../UserTestCases/UnitTest/Main.cs | 1 + 2 files changed, 68 insertions(+) create mode 100644 Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/CrossDatabase02.cs diff --git a/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/CrossDatabase02.cs b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/CrossDatabase02.cs new file mode 100644 index 000000000..0f8147153 --- /dev/null +++ b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/CrossDatabase02.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.Text; +using SqlSugar; +using System.Linq; +namespace OrmTest +{ + public class CrossDatabase02 + { + public static void Init() + { + var db = new SqlSugarClient(new List() + { + new ConnectionConfig(){DbLinkName= "SQLSUGAR4XTEST.DBO",ConfigId="OrderDb",DbType=DbType.SqlServer,ConnectionString="server=.;uid=sa;pwd=sasa;database=SQLSUGAR4XTEST",IsAutoCloseConnection=true}, + new ConnectionConfig(){ConfigId="OrderItemDb",DbType=DbType.SqlServer,ConnectionString="server=.;uid=sa;pwd=sasa;database=SQLSUGAR4XTEST2",IsAutoCloseConnection=true } + }); + + db.GetConnection("OrderDb").Aop.OnLogExecuting = (sql, p) =>Console.WriteLine( UtilMethods.GetNativeSql(sql, p)); + db.GetConnection("OrderItemDb").Aop.OnLogExecuting = (sql, p) => Console.WriteLine(UtilMethods.GetNativeSql(sql, p)); + + db.GetConnection("OrderDb").CodeFirst.InitTables(); + db.GetConnection("OrderItemDb").CodeFirst.InitTables(); + + db.GetConnection("OrderDb").DbMaintenance.TruncateTable(); + db.GetConnection("OrderItemDb").DbMaintenance.TruncateTable(); + + db.GetConnection("OrderDb").Insertable(new Order() { Id = 1, CreateTime = DateTime.Now, Name = "a", Price = 10, CustomId = 1 }).ExecuteCommand(); + db.GetConnection("OrderItemDb").Insertable(new OrderItem() { OrderId = 1, CreateTime = DateTime.Now, Price = 10 }).ExecuteCommand(); + + + var list= db.QueryableWithAttr() + .Includes(it=>it.Order) + .Where(it=>it.Order.Id==1) + .ToList(); + + } + [SqlSugar.Tenant("OrderDb")] + [SqlSugar.SugarTable("Order811")] + public class Order + { + [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + + public string Name { get; set; } + public decimal Price { get; set; } + [SugarColumn(IsNullable = true)] + public DateTime CreateTime { get; set; } + [SugarColumn(IsNullable = true)] + public int CustomId { get; set; } + [Navigate(NavigateType.OneToMany, nameof(OrderItem.OrderId))] + public List Items { get; set; } + } + [SqlSugar.SugarTable("OrderDetail111")] + [SqlSugar.Tenant("OrderItemDb")] + public class OrderItem + { + [SqlSugar.SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int ItemId { get; set; } + public int OrderId { get; set; } + public decimal? Price { get; set; } + [SqlSugar.SugarColumn(IsNullable = true)] + public DateTime? CreateTime { get; set; } + [Navigate(NavigateType.OneToOne, nameof(OrderId))] + public Order Order { get; set; } + } + } +} diff --git a/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Main.cs b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Main.cs index 57b8960a3..c18827e71 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Main.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Main.cs @@ -33,6 +33,7 @@ namespace OrmTest } public static void Init() { + CrossDatabase02.Init(); UnitDynamicCoread12321.Init(); UnitManyToManyadfafa.Init(); UnitAsyncToken.Init();