mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 02:32:50 +08:00
- 优化 EnableAddOrUpdateNavigate 逻辑;
This commit is contained in:
parent
1090de14ef
commit
a80d2cdf9d
@ -328,6 +328,7 @@ namespace FreeSql
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Internal.Model.TableRefType.OneToMany:
|
case Internal.Model.TableRefType.OneToMany:
|
||||||
|
var addlist = isAdd ? new List<object>() : null;
|
||||||
foreach (var propValItem in propValEach)
|
foreach (var propValItem in propValEach)
|
||||||
{
|
{
|
||||||
for (var colidx = 0; colidx < tref.Columns.Count; colidx++)
|
for (var colidx = 0; colidx < tref.Columns.Count; colidx++)
|
||||||
@ -335,8 +336,10 @@ namespace FreeSql
|
|||||||
var val = FreeSql.Internal.Utils.GetDataReaderValue(tref.RefColumns[colidx].CsType, _db.OrmOriginal.GetEntityValueWithPropertyName(_table.Type, item, tref.Columns[colidx].CsName));
|
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);
|
_db.OrmOriginal.SetEntityValueWithPropertyName(tref.RefEntityType, propValItem, tref.RefColumns[colidx].CsName, val);
|
||||||
}
|
}
|
||||||
await refSet.AddOrUpdateAsync(propValItem, cancellationToken);
|
if (isAdd) addlist.Add(propValItem);
|
||||||
|
else await refSet.AddOrUpdateAsync(propValItem, cancellationToken);
|
||||||
}
|
}
|
||||||
|
if (isAdd) await refSet.AddRangeAsync(addlist, cancellationToken);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -339,6 +339,7 @@ namespace FreeSql
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Internal.Model.TableRefType.OneToMany:
|
case Internal.Model.TableRefType.OneToMany:
|
||||||
|
var addlist = isAdd ? new List<object>() : null;
|
||||||
foreach (var propValItem in propValEach)
|
foreach (var propValItem in propValEach)
|
||||||
{
|
{
|
||||||
for (var colidx = 0; colidx < tref.Columns.Count; colidx++)
|
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));
|
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);
|
_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;
|
break;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1386,7 +1386,7 @@
|
|||||||
<member name="M:FreeSql.FreeSqlBuilder.UseNameConvert(FreeSql.Internal.NameConvertType)">
|
<member name="M:FreeSql.FreeSqlBuilder.UseNameConvert(FreeSql.Internal.NameConvertType)">
|
||||||
<summary>
|
<summary>
|
||||||
实体类名 -> 数据库表名,命名转换(类名、属性名都生效)<para></para>
|
实体类名 -> 数据库表名,命名转换(类名、属性名都生效)<para></para>
|
||||||
优先级小于 [Table(Name = "xxx")]、[Column(Name = "xxx")]
|
优先级小于 [Column(Name = "xxx")]
|
||||||
</summary>
|
</summary>
|
||||||
<param name="convertType"></param>
|
<param name="convertType"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
|
@ -150,7 +150,7 @@ namespace FreeSql
|
|||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 实体类名 -> 数据库表名,命名转换(类名、属性名都生效)<para></para>
|
/// 实体类名 -> 数据库表名,命名转换(类名、属性名都生效)<para></para>
|
||||||
/// 优先级小于 [Table(Name = "xxx")]、[Column(Name = "xxx")]
|
/// 优先级小于 [Column(Name = "xxx")]
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="convertType"></param>
|
/// <param name="convertType"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user