using SqlSugar; using System; using System.Collections.Generic; using System.Security.Principal; using System.Text; namespace OrmTest { internal class UpdateNavOneToOne { public static void Init() { var db = NewUnitTest.Db; //建表 if (!db.DbMaintenance.IsAnyTable("RosterCollection", false)) { db.CodeFirst.InitTables(); } if (!db.DbMaintenance.IsAnyTable("RosterBasicInfo", false)) { db.CodeFirst.InitTables(); } //用例代码 var id = db.Insertable(new RosterCollection() { TestText1 = "主表业务字段" }).ExecuteReturnIdentity(); var roster = new RosterCollection() { RosterId = id, TestText1 = "新主表业务字段", BasicInfo = new RosterBasicInfo() { TestText2 = "从表业务字段", ToRosterId = id } }; var result = db .UpdateNav(roster) .Include(c => c.BasicInfo).ExecuteCommand();//用例代码 } //用例实体 //主表 public class RosterCollection { /// /// 主键 /// [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] public int RosterId { get; set; } /// /// 从表 /// [Navigate(NavigateType.OneToOne, nameof(RosterId), nameof(RosterBasicInfo.ToRosterId))] public RosterBasicInfo? BasicInfo { get; set; } public string TestText1 { get; set; } } //从表 public class RosterBasicInfo { /// /// 主键 /// [SugarColumn(IsPrimaryKey = true, IsIdentity = true)] public int BasicInfoId { get; set; } /// /// 主表Id /// public int ToRosterId { get; set; } public string TestText2 { get; set; } } } }