mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-23 13:06:50 +08:00
Delete navicate
This commit is contained in:
parent
9be7691d3d
commit
60cdb3c6de
@ -10,7 +10,27 @@ namespace SqlSugar
|
||||
{
|
||||
private void DeleteOneToOne<TChild>(string name, EntityColumnInfo nav) where TChild : class, new()
|
||||
{
|
||||
|
||||
var parentEntity = _ParentEntity;
|
||||
var parentList = _ParentList.Cast<T>().ToList();
|
||||
var parentColumn = parentEntity.Columns.FirstOrDefault(it => it.PropertyName == nav.Navigat.Name);
|
||||
var parentPkColumn = parentEntity.Columns.FirstOrDefault(it => it.IsPrimarykey);
|
||||
var thisEntity = this._Context.EntityMaintenance.GetEntityInfo<TChild>();
|
||||
EntityColumnInfo thisPkColumn = GetPkColumnByNav(thisEntity, nav);
|
||||
Check.Exception(thisPkColumn == null, $" Navigate {parentEntity.EntityName} : {name} is error ", $"导航实体 {parentEntity.EntityName} 属性 {name} 配置错误");
|
||||
|
||||
|
||||
if (!_IsDeletedParant)
|
||||
SetContext(() => this._Context.Deleteable(parentList).ExecuteCommand());
|
||||
|
||||
|
||||
var ids = _ParentList.Select(it => parentColumn.PropertyInfo.GetValue(it)).ToList();
|
||||
List<TChild> childList = this._Context.Queryable<TChild>().In(thisPkColumn.DbColumnName, ids).ToList();
|
||||
|
||||
this._ParentList = childList.Cast<object>().ToList();
|
||||
this._ParentPkColumn = thisPkColumn;
|
||||
this._IsDeletedParant = true;
|
||||
|
||||
SetContext(() => this._Context.Deleteable(childList).ExecuteCommand());
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user