diff --git a/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/InsertNavProviderManyToMany.cs b/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/InsertNavProviderManyToMany.cs index 906d53925..e710bf5b6 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/InsertNavProviderManyToMany.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/InsertNavProviderManyToMany.cs @@ -26,6 +26,12 @@ namespace SqlSugar .Where(it => it.PropertyName != mappingA.PropertyName) .Where(it => it.PropertyName != mappingB.PropertyName) .Where(it => it.IsPrimarykey && !it.IsIdentity && it.OracleSequenceName.IsNullOrEmpty()).FirstOrDefault(); + var mappingBizDeleteColumn = mappingEntity.Columns.FirstOrDefault(it => + it.DbColumnName.EqualCase("isdelete") || + it.PropertyName.EqualCase("isdelete") || + it.DbColumnName.EqualCase("isdeleted") || + it.PropertyName.EqualCase("isdeleted") + ); Check.Exception(mappingA == null || mappingB == null, $"Navigate property {name} error ", $"导航属性{name}配置错误"); List> mappgingTables = new List>(); foreach (var item in parentList) @@ -40,6 +46,10 @@ namespace SqlSugar Dictionary keyValuePairs = new Dictionary(); keyValuePairs.Add(mappingA.DbColumnName, parentId); keyValuePairs.Add(mappingB.DbColumnName, chidId); + if (mappingBizDeleteColumn != null) + { + keyValuePairs.Add(mappingBizDeleteColumn.DbColumnName, UtilMethods.GetDefaultValue(mappingBizDeleteColumn.UnderType)); + } if (mappingPk != null) { SetMappingTableDefaultValue(mappingPk, keyValuePairs); diff --git a/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/UpdateNavManyToMany.cs b/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/UpdateNavManyToMany.cs index 1c05e41f6..eba74f07d 100644 --- a/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/UpdateNavManyToMany.cs +++ b/Src/Asp.Net/SqlSugar/Abstract/ExecuteNavProvider/UpdateNavManyToMany.cs @@ -26,6 +26,11 @@ namespace SqlSugar .Where(it => it.PropertyName != mappingA.PropertyName) .Where(it => it.PropertyName != mappingB.PropertyName) .Where(it => it.IsPrimarykey && !it.IsIdentity && it.OracleSequenceName.IsNullOrEmpty()).FirstOrDefault(); + var mappingBizDeleteColumn = mappingEntity.Columns.FirstOrDefault(it => + it.DbColumnName.EqualCase("isdelete") || + it.PropertyName.EqualCase("isdelete") || + it.DbColumnName.EqualCase("isdeleted") || + it.PropertyName.EqualCase("isdeleted")); Check.Exception(mappingA == null || mappingB == null, $"Navigate property {name} error ", $"导航属性{name}配置错误"); List> mappgingTables = new List>(); var ids=new List(); @@ -52,6 +57,10 @@ namespace SqlSugar Dictionary keyValuePairs = new Dictionary(); keyValuePairs.Add(mappingA.DbColumnName, parentId); keyValuePairs.Add(mappingB.DbColumnName, chidId); + if (mappingBizDeleteColumn != null) + { + keyValuePairs.Add(mappingBizDeleteColumn.DbColumnName, UtilMethods.GetDefaultValue(mappingBizDeleteColumn.UnderType)); + } if (mappingPk != null) { SetMappingTableDefaultValue(mappingPk, keyValuePairs);