From df524303f2262148c8217b11d7229ef7b917d5ee Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 9 May 2024 11:44:01 +0800 Subject: [PATCH] Add user test demo --- .../UserTestCases/UnitTest/Main.cs | 1 + .../UserTestCases/UnitTest/Unitasdfafasyy.cs | 293 ++++++++++++++++++ 2 files changed, 294 insertions(+) create mode 100644 Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Unitasdfafasyy.cs diff --git a/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Main.cs b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Main.cs index 232999954..682a07971 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() { + Unita3affafa.Init(); UnitEnumTest.Init(); Unitadf1yaadfa.Init(); CrossDatabase03.Init(); diff --git a/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Unitasdfafasyy.cs b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Unitasdfafasyy.cs new file mode 100644 index 000000000..13a205dbe --- /dev/null +++ b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/Unitasdfafasyy.cs @@ -0,0 +1,293 @@ +using SqlSeverTest.UserTestCases; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OrmTest +{ + public class Unita3affafa + { + + public static void Init() + { + + var db = new SqlSugarClient(new ConnectionConfig() + + { + + ConnectionString =Config.ConnectionString, + + DbType = DbType.SqlServer, + + IsAutoCloseConnection = true, + + InitKeyType = InitKeyType.Attribute + + }, db => { + + + + //过滤器写在这儿就行了 + + + + #region 添加查询过滤器 + + db.QueryFilter.AddTableFilter(x => x.IsDeleted == 0); + + db.QueryFilter.AddTableFilter(x => x.OrgId == 10); + + #endregion + + }); + + + + #region SQL执行前 + + db.Aop.OnLogExecuting = (sql, pars) =>//SQL执行前 + + { + + var sqlString = UtilMethods.GetSqlString(DbType.MySql, sql, pars); + + Console.WriteLine(sqlString); + + }; + + #endregion + + + + //#region 添加查询过滤器 + + //db.QueryFilter.AddTableFilter(x => x.IsDeleted == 0); + + //db.QueryFilter.AddTableFilter(x => x.OrgId == 10); + + //#endregion + + + + //用例代码 + + var testSplit001 = new TestSplit001() + + { + + Id = DateTime.Now.Ticks, + + Name = "insert-" + DateTime.Now.Ticks, + + CreateTime = DateTime.Now, + + IsDeleted = 0, + + OrgId = 10, + + }; + + + + { + + Console.WriteLine("-----------------------------------插入数据-------------------------------------"); + + var result = db.Insertable(testSplit001).SplitTable().ExecuteCommand();//用例代码 + + } + + + + //testSplit001.IsDeleted = 1; + + //testSplit001.Name = "delete"; + + + + //{ + + // Console.WriteLine("-----------------------------------同步更新数据(只更新IsDeleted)-------------------------------------"); + + // //同步没问题--只更新IsDeleted字段 + + // var result2 = db.Updateable(testSplit001).UpdateColumns(it => it.IsDeleted).SplitTable().ExecuteCommand();//用例代码 + + //} + + + + //{ + + // Console.WriteLine("-----------------------------------异步更新数据(只更新IsDeleted)-------------------------------------"); + + // //异步有问题--IsDeleted、Field1都更新了 + + // db.Updateable(testSplit001).UpdateColumns(it => it.IsDeleted).SplitTable().ExecuteCommandAsync(); + + //} + + + + { + + Console.WriteLine("-----------------------------------查询-------------------------------------"); + var list = db.Queryable().SplitTable().ToList(); + var sql = db.Queryable().SplitTable().ToSqlString(); + if (sql.Split("AND").Length > 3) + { + throw new Exception("unit error"); + } + if (!sql.Contains("AND")) + { + throw new Exception("unit error"); + } + } + + + + Console.WriteLine("用例跑完"); + + Console.ReadKey(); + + } + + } + + + + /// + + /// + + /// + + [SplitTable(SplitType.Month)]//按月分表 (自带分表支持 年、季、月、周、日) + + [SugarTable("test001_{year}{month}{day}", IsCreateTableFiledSort = true)]//3个变量必须要有,这么设计为了兼容开始按年,后面改成按月、按日 + + [SugarIndex("index_createtime_", nameof(CreateTime), OrderByType.Asc)] + + public partial class TestSplit001 : IDeletedFilter, IOrgFilter + + { + + /// + + /// + + /// + + public TestSplit001() + + { + + + + } + + + + /// + + /// 主键 + + /// + + [SugarColumn(IsPrimaryKey = true)] + + public long Id { get; set; } + + + + /// + + /// + + /// + + public string Name { get; set; } + + + + /// + + /// 创建时间 + + /// + + [SplitField] + + public DateTime CreateTime { get; set; } + + + + /// + + /// + + /// + + public byte IsDeleted { get; set; } + + + + /// + + /// + + /// + + public long OrgId { get; set; } + + } + + + + /// + + /// 接口过滤器(删除标志) + + /// + + public interface IDeletedFilter + + { + + /// + + /// 删除标志 + + /// + + public byte IsDeleted { get; set; } + + } + + + + /// + + /// 接口过滤器(机构标志) + + /// + + public interface IOrgFilter + + { + + /// + + /// 机构标志 + + /// + + public long OrgId { get; set; } + + } + + +}