From dc9044e23f7cb543f8a9e9ad835454e1b04507c5 Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Wed, 6 Dec 2023 15:34:52 +0800 Subject: [PATCH] Add OneToMany filter --- .../UnitTest/UnitOneToManyFiltersadfa.cs | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/UnitOneToManyFiltersadfa.cs diff --git a/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/UnitOneToManyFiltersadfa.cs b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/UnitOneToManyFiltersadfa.cs new file mode 100644 index 000000000..9e966c3c7 --- /dev/null +++ b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/UnitOneToManyFiltersadfa.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace OrmTest +{ + public class UnitOneToManyFiltersadfa + { + public static void Init() + { + var db = NewUnitTest.Db; + db.CodeFirst.InitTables(); + db.DbMaintenance.TruncateTable(); + + var address = new UnitAddress011 + { + Street = "222" + }; + int addressId = db.Insertable(address).ExecuteReturnIdentity(); + + // 创建 UnitPerson011 对象并插入记录 + var person = new UnitPerson011 + { + Name = "John Doe", + AddressId = addressId + }; + int personId = db.Insertable(person).ExecuteReturnIdentity(); + + db.QueryFilter.AddTableFilter(x => x.AddressId ==1); + + var list = db.Queryable().Includes(x => x.Persons).ToList(); + + db.UpdateNav(list).Include(x=>x.Persons).ExecuteCommand(); + } + [SqlSugar.SugarTable("UnitPerson011xxx11")] + public class UnitPerson011: IAddressId + { + [SqlSugar.SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + public string Name { get; set; } + public int AddressId { get; set; } + } + [SqlSugar.SugarTable("UnitPerson011yyy1")] + public class UnitAddress011 + { + [SqlSugar.SugarColumn(IsPrimaryKey = true, IsIdentity = true)] + public int Id { get; set; } + public string Street { get; set; } + [SqlSugar.Navigate(SqlSugar.NavigateType.OneToMany, nameof(UnitPerson011.AddressId))] + public List Persons { get; set; } + } + public interface IAddressId + { + public int AddressId { get; set; } + } + } +}