From fbe3b1554dc2968d4038e01ea7ff9dd6ef09d99c Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Thu, 1 Sep 2022 15:35:45 +0800 Subject: [PATCH] Update db.UpdateNav --- .../Abstract/ExecuteNavProvider/UpdateNavManyToMany.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/UpdateNavManyToMany.cs b/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/UpdateNavManyToMany.cs index 01b622a5d..1c05e41f6 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/UpdateNavManyToMany.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/UpdateNavManyToMany.cs @@ -28,6 +28,7 @@ namespace SqlSugar .Where(it => it.IsPrimarykey && !it.IsIdentity && it.OracleSequenceName.IsNullOrEmpty()).FirstOrDefault(); Check.Exception(mappingA == null || mappingB == null, $"Navigate property {name} error ", $"导航属性{name}配置错误"); List> mappgingTables = new List>(); + var ids=new List(); foreach (var item in parentList) { var items = parentNavigateProperty.PropertyInfo.GetValue(item); @@ -41,6 +42,10 @@ namespace SqlSugar _ParentList = children.Cast().ToList(); } var parentId = parentPkColumn.PropertyInfo.GetValue(item); + if (!ids.Contains(parentId)) + { + ids.Add(parentId); + } foreach (var child in children) { var chidId = thisPkColumn.PropertyInfo.GetValue(child); @@ -54,7 +59,6 @@ namespace SqlSugar mappgingTables.Add(keyValuePairs); } } - var ids = mappgingTables.Select(x => x[mappingA.DbColumnName]).ToList(); this._Context.Deleteable().AS(mappingEntity.DbTableName).In(mappingA.DbColumnName, ids).ExecuteCommand(); this._Context.Insertable(mappgingTables).AS(mappingEntity.DbTableName).ExecuteCommand(); _ParentEntity = thisEntity;