From df352b8b6b5a72dfa1c85345d408da80cc315c0a Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Tue, 12 Dec 2023 13:05:34 +0800 Subject: [PATCH] Synchronization code --- .../ExecuteNavProvider/InsertNavProviderOneToMany.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/InsertNavProviderOneToMany.cs b/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/InsertNavProviderOneToMany.cs index 0f73f6efe..d0ee266f1 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/InsertNavProviderOneToMany.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/InsertNavProviderOneToMany.cs @@ -41,18 +41,24 @@ namespace SqlSugar children.AddRange(childs); } } + var isTreeChild = GetIsTreeChild(parentEntity, thisEntity); Check.ExceptionEasy(thisPkColumn == null, $"{thisEntity.EntityName}need primary key", $"实体{thisEntity.EntityName}需要主键"); - if (NotAny(name)) + if (NotAny(name) || isTreeChild) { InsertDatas(children, thisPkColumn); } - else + else { this._ParentList = children.Cast().ToList(); } SetNewParent(thisEntity, thisPkColumn); } + private bool GetIsTreeChild(EntityInfo parentEntity , EntityInfo thisEntity) + { + return this.NavContext?.Items?.Any() == true && parentEntity.Type == thisEntity.Type; + } + private static bool ParentIsPk(EntityColumnInfo parentNavigateProperty) { return parentNavigateProperty != null &&