- 优化 EnableAddOrUpdateNavigate 逻辑;

This commit is contained in:
2881099
2022-05-04 18:50:35 +08:00
parent 1090de14ef
commit a80d2cdf9d
4 changed files with 10 additions and 4 deletions

View File

@ -339,6 +339,7 @@ namespace FreeSql
}
break;
case Internal.Model.TableRefType.OneToMany:
var addlist = isAdd ? new List<object>() : null;
foreach (var propValItem in propValEach)
{
for (var colidx = 0; colidx < tref.Columns.Count; colidx++)
@ -346,8 +347,10 @@ namespace FreeSql
var val = FreeSql.Internal.Utils.GetDataReaderValue(tref.RefColumns[colidx].CsType, _db.OrmOriginal.GetEntityValueWithPropertyName(_table.Type, item, tref.Columns[colidx].CsName));
_db.OrmOriginal.SetEntityValueWithPropertyName(tref.RefEntityType, propValItem, tref.RefColumns[colidx].CsName, val);
}
refSet.AddOrUpdate(propValItem);
if (isAdd) addlist.Add(propValItem);
else refSet.AddOrUpdate(propValItem);
}
if (isAdd) refSet.AddRange(addlist);
break;
}
};