Update insertNav

This commit is contained in:
sunkaixuan
2022-07-03 04:23:26 +08:00
parent 0c65b17e84
commit 6db9b8e032
2 changed files with 14 additions and 2 deletions

View File

@@ -81,10 +81,21 @@ namespace SqlSugar
children = children.Distinct().ToList();
var x = this._Context.Storageable(children).WhereColumns(new string[] { pkColumn.PropertyName }).ToStorage();
var insertData = children = x.InsertList.Select(it => it.Item).ToList();
if (pkColumn.IsIdentity)
if (pkColumn.IsIdentity||pkColumn.OracleSequenceName.HasValue())
{
InsertIdentity(insertData);
}
else if (pkColumn.UnderType==UtilConstants.LongType&&pkColumn.IsIdentity==false)
{
foreach (var child in insertData)
{
if (IsDefaultValue(pkColumn.PropertyInfo.GetValue(child)))
{
pkColumn.PropertyInfo.SetValue(child, SnowFlakeSingle.Instance.NextId());
}
}
this._Context.Insertable(insertData).ExecuteCommand();
}
else
{
this._Context.Insertable(insertData).ExecuteCommand();

View File

@@ -40,8 +40,9 @@ namespace SqlSugar
this._Context.Updateable<DbTableInfo>
().AS(parentEntity.DbTableName)
.SetColumns(parentColumn.DbColumnName, navPropertyValue)
.Where(parentPkColumn.DbColumnName,"=", navPropertyValue).ExecuteCommand();
.Where(parentPkColumn.DbColumnName,"=", parentPkColumn.PropertyInfo.GetValue(parent)).ExecuteCommand();
}
thisPkColumn.PropertyInfo.SetValue(childItem, navPropertyValue);
childList.Add(childItem);
}