Update nav

This commit is contained in:
sunkaixuan 2024-05-24 11:00:57 +08:00
parent ecde194ade
commit b3e86277e7
2 changed files with 11 additions and 1 deletions

View File

@ -74,7 +74,16 @@ namespace SqlSugar
{
children = children.Distinct().ToList();
Check.ExceptionEasy(pkColumn == null, typeof(TChild).Name + " has no primary key", typeof(TChild).Name + "没有主键");
; var x = this._Context.Storageable(children).WhereColumns(new string[] { pkColumn.PropertyName }).ToStorage();
var whereName = pkColumn.PropertyName;
if (_Options.OneToOneSaveByPrimaryKey&& pkColumn.IsPrimarykey==false)
{
var newPkColumn=this._Context.EntityMaintenance.GetEntityInfo<TChild>().Columns.FirstOrDefault(it => it.IsPrimarykey);
if (newPkColumn != null)
{
whereName = newPkColumn.PropertyName;
}
}
; var x = this._Context.Storageable(children).WhereColumns(new string[] {whereName}).ToStorage();
var insertData = x.InsertList.Select(it => it.Item).ToList();
var updateData = x.UpdateList.Select(it => it.Item).ToList();
Check.ExceptionEasy(pkColumn == null && NavColumn == null, $"The entity is invalid", $"实体错误无法使用导航");

View File

@ -56,6 +56,7 @@ namespace SqlSugar
public Expression CurrentFunc { get; set; }
public string[] IgnoreColumns { get; set; }
public bool IgnoreNullColumns { get; set; }
public bool OneToOneSaveByPrimaryKey { get; set; }
}
public class InsertNavOptions