mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-19 04:18:16 +08:00
- 修复 FreeSql.DbContext 对同一实体重复 Update,第二次无效的 Bug;
This commit is contained in:
@ -408,7 +408,18 @@ namespace FreeSql
|
||||
foreach (var item in data)
|
||||
{
|
||||
if (_dicUpdateTimes.ContainsKey(item))
|
||||
{
|
||||
var itemCopy = CreateEntityState(item).Value;
|
||||
await DbContextFlushCommandAsync();
|
||||
if (_table.VersionColumn != null)
|
||||
{
|
||||
var itemVersion = _db.OrmOriginal.GetEntityValueWithPropertyName(_entityType, item, _table.VersionColumn.CsName);
|
||||
_db.OrmOriginal.MapEntityValue(_entityType, itemCopy, item);
|
||||
_db.OrmOriginal.SetEntityValueWithPropertyName(_entityType, item, _table.VersionColumn.CsName, itemVersion);
|
||||
}
|
||||
else
|
||||
_db.OrmOriginal.MapEntityValue(_entityType, itemCopy, item);
|
||||
}
|
||||
_dicUpdateTimes.Add(item, 1);
|
||||
|
||||
var state = CreateEntityState(item);
|
||||
|
@ -451,7 +451,18 @@ namespace FreeSql
|
||||
foreach (var item in data)
|
||||
{
|
||||
if (_dicUpdateTimes.ContainsKey(item))
|
||||
{
|
||||
var itemCopy = CreateEntityState(item).Value;
|
||||
DbContextFlushCommand();
|
||||
if (_table.VersionColumn != null)
|
||||
{
|
||||
var itemVersion = _db.OrmOriginal.GetEntityValueWithPropertyName(_entityType, item, _table.VersionColumn.CsName);
|
||||
_db.OrmOriginal.MapEntityValue(_entityType, itemCopy, item);
|
||||
_db.OrmOriginal.SetEntityValueWithPropertyName(_entityType, item, _table.VersionColumn.CsName, itemVersion);
|
||||
}
|
||||
else
|
||||
_db.OrmOriginal.MapEntityValue(_entityType, itemCopy, item);
|
||||
}
|
||||
_dicUpdateTimes.Add(item, 1);
|
||||
|
||||
var state = CreateEntityState(item);
|
||||
|
Reference in New Issue
Block a user