From 3fa1cc97c4f4278cc94de86440c1bea5b39cb8dd Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Tue, 21 Oct 2025 13:42:04 +0800 Subject: [PATCH] Add demo --- .../MongoDbTest/UnitTest/Cases.cs | 1 + .../MongoDbTest/UnitTest/Insert3.cs | 77 +++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 Src/Asp.NetCore2/MongoDbTest/UnitTest/Insert3.cs diff --git a/Src/Asp.NetCore2/MongoDbTest/UnitTest/Cases.cs b/Src/Asp.NetCore2/MongoDbTest/UnitTest/Cases.cs index e30bcc45f..5a4ecd4ba 100644 --- a/Src/Asp.NetCore2/MongoDbTest/UnitTest/Cases.cs +++ b/Src/Asp.NetCore2/MongoDbTest/UnitTest/Cases.cs @@ -32,6 +32,7 @@ namespace MongoDbTest QueryJsonArray3.Init(); Insert.Init(); Insert2.Init(); + Insert3.Init(); Update.Init(); Delete.Init(); InsertOrUpdate.Init(); diff --git a/Src/Asp.NetCore2/MongoDbTest/UnitTest/Insert3.cs b/Src/Asp.NetCore2/MongoDbTest/UnitTest/Insert3.cs new file mode 100644 index 000000000..f1d0498e7 --- /dev/null +++ b/Src/Asp.NetCore2/MongoDbTest/UnitTest/Insert3.cs @@ -0,0 +1,77 @@ +using SqlSugar.MongoDb; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Dm.util; +using MongoDB.Driver.Linq; +using MongoDB.Bson; + +namespace MongoDbTest +{ + public class Insert3 + { + private static SqlSugarClient db = DbHelper.GetNewDb(); + + internal static void Init() + { + db.CodeFirst.InitTables(); + db.DbMaintenance.TruncateTable(); + + var data2 = new Student() { Age = 1, Name = "11", SchoolId = "111", its = new List() { new Chid() { Name = "xxx" } } }; + db.Insertable(data2).ExecuteCommandIdentityIntoEntityAsync().GetAwaiter().GetResult(); + + if (string.IsNullOrEmpty(data2.Id)) Cases.ThrowUnitError(); + + var data3 = db.Queryable().Where(it => it.Id == data2.Id).First(); + + if (data3.RootTime!.Value.ToString("yyyy-MM-dd HH") != new Student().RootTime!.Value!.ToString("yyyy-MM-dd HH")) Cases.ThrowUnitError(); + if (data3.its.First().RetailCrTime!.Value.ToString("yyyy-MM-dd HH") != new Chid().RetailCrTime!.Value.ToString("yyyy-MM-dd HH")) Cases.ThrowUnitError(); + + db.Updateable(data3).ExecuteCommand(); + var data5 = db.Queryable().Where(it => it.Id == data2.Id).First(); + + if (data5.RootTime!.Value.ToString("yyyy-MM-dd HH") != new Student().RootTime!.Value.ToString("yyyy-MM-dd HH")) Cases.ThrowUnitError(); + if (data5.its.First().RetailCrTime!.Value.ToString("yyyy-MM-dd HH") != new Chid().RetailCrTime!.Value.ToString("yyyy-MM-dd HH")) Cases.ThrowUnitError(); + } + + public static DbResult UseTran(Action action) + { + try + { + var result = db.Ado.UseTran(() => action()); + return result; + } + catch (Exception ex) + { + db.Ado.RollbackTran(); + Console.WriteLine(ex.Message); + throw; + } + } + + [SqlSugar.SugarTable("UnitStudent1ddsfhssds3z1")] + public class Student : MongoDbBase + { + public string Name { get; set; } + + public string SchoolId { get; set; } + + public int Age { get; set; } + + [SqlSugar.SugarColumn(IsJson = true)] + public List its { get; set; } = new List(); + + public DateTime? RootTime { get; set; } = DateTime.Now; + } + + public class Chid + { + public string Name { get; set; } + + public DateTime? RetailCrTime { get; set; } = DateTime.Now; + } + } +}