diff --git a/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Main.cs b/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Main.cs index 7b82adc89..cb7b2ccc2 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Main.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/UnitTest/Main.cs @@ -30,6 +30,7 @@ namespace OrmTest } public static void Init() { + UinitUpdateNavOneToOne.Init(); UnitCreateNavClass.Init(); UnitBulkMerge.Init(); UnitBool.Init(); diff --git a/Src/Asp.NetCore2/SqlSeverTest/UnitTest/UinitUpdateNavOneToOne.cs b/Src/Asp.NetCore2/SqlSeverTest/UnitTest/UinitUpdateNavOneToOne.cs new file mode 100644 index 000000000..382b938f4 --- /dev/null +++ b/Src/Asp.NetCore2/SqlSeverTest/UnitTest/UinitUpdateNavOneToOne.cs @@ -0,0 +1,114 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Text; + +namespace OrmTest +{ + internal class UinitUpdateNavOneToOne + { + + public static void Init() + { + var db = NewUnitTest.Db; + //建表 + if (!db.DbMaintenance.IsAnyTable("UserTest", false)) + { + db.CodeFirst.InitTables(); + } + //建表 + if (!db.DbMaintenance.IsAnyTable("ShopDataTest", false)) + { + db.CodeFirst.InitTables(); + } + //建表 + if (!db.DbMaintenance.IsAnyTable("AddressTest", false)) + { + db.CodeFirst.InitTables(); + } + + + while (true) + { + string uName = "测试用户名"; + if (!db.Queryable().Where(u => u.Name == uName).Any()) + { + UserTest userDataAdd = new UserTest(); + userDataAdd.Name = uName; + db.Insertable(userDataAdd).ExecuteCommand(); + } + + //用例代码 + + //if (userData.ShopDataTest==null) + //{ + + //} + UserTest userData = db.Queryable().Where(u => u.Name == uName) + .Includes(u => u.ShopDataTest, u => u.AddressTest) + .First(); + userData.ShopId = 0; + userData.ShopDataTest = new ShopDataTest(); + userData.ShopDataTest.Name = "店铺名3"; + userData.ShopDataTest.GuId = 4; + userData.ShopDataTest.AddressTest = new AddressTest() + { + Name = "地址名称", + }; + bool b = db.UpdateNav(userData) + .Include(u => u.ShopDataTest) + .ThenInclude(u => u.AddressTest) + .ExecuteCommand(); + + UserTest userData2 = db.Queryable().Where(u => u.Name == uName) + .Includes(u => u.ShopDataTest, u => u.AddressTest) + .First(); + + var address= userData2.ShopDataTest.AddressTest; + + } + + } + [SugarTable("AddressTest")] + public class AddressTest + { + [SugarColumn(ColumnName = "GuId", IsPrimaryKey = true, IsIdentity = true)] + public long GuId { get; set; } + + [SugarColumn(ColumnName = "Name")] + public string Name { get; set; } + } + [SugarTable("ShopDataTest")] + public class ShopDataTest + { + [SugarColumn(ColumnName = "GuId", IsPrimaryKey = true, IsIdentity = true)] + public long GuId { get; set; } + + + [SugarColumn(ColumnName = "AddressId")] + public long AddressId { get; set; } + + [Navigate(NavigateType.OneToOne, nameof(AddressId))] + public AddressTest AddressTest { get; set; } + + [SugarColumn(ColumnName = "Name")] + public string Name { get; set; } + } + [SugarTable("UserTest")] + public class UserTest + { + [SugarColumn(ColumnName = "GuId", IsPrimaryKey = true, IsIdentity = true)] + public long GuId { get; set; } + + [SugarColumn(ColumnName = "Name")] + public string Name { get; set; } + + + [SugarColumn(ColumnName = "ShopId")] + public long ShopId { get; set; } + + [Navigate(NavigateType.OneToOne, nameof(ShopId))] + public ShopDataTest ShopDataTest { get; set; } + } + } +}