diff --git a/Extensions/FreeSql.Extensions.AggregateRoot/AggregateRootRepository/AggregateRootRepositoryAsync.cs b/Extensions/FreeSql.Extensions.AggregateRoot/AggregateRootRepository/AggregateRootRepositoryAsync.cs index e0d40715..d041fc58 100644 --- a/Extensions/FreeSql.Extensions.AggregateRoot/AggregateRootRepository/AggregateRootRepositoryAsync.cs +++ b/Extensions/FreeSql.Extensions.AggregateRoot/AggregateRootRepository/AggregateRootRepositoryAsync.cs @@ -176,7 +176,7 @@ namespace FreeSql } public virtual Task UpdateAsync(TEntity entity, CancellationToken cancellationToken = default) => UpdateAsync(new[] { entity }, cancellationToken); - public virtual Task UpdateAsync(IEnumerable entitys, CancellationToken cancellationToken = default) + async public virtual Task UpdateAsync(IEnumerable entitys, CancellationToken cancellationToken = default) { var tracking = new AggregateRootTrackingChangeInfo(); foreach (var entity in entitys) @@ -185,10 +185,10 @@ namespace FreeSql if (_states.TryGetValue(stateKey, out var state) == false) throw new Exception($"AggregateRootRepository 使用仓储对象查询后,才可以更新数据 {Orm.GetEntityString(EntityType, entity)}"); AggregateRootUtils.CompareEntityValue(_boundaryName, Orm, EntityType, state.Value, entity, null, tracking); } + var affrows = await SaveTrackingChangeAsync(tracking, cancellationToken); foreach (var entity in entitys) Attach(entity); - - return SaveTrackingChangeAsync(tracking, cancellationToken); + return affrows; } @@ -233,8 +233,8 @@ namespace FreeSql var stateKey = Orm.GetEntityKeyString(EntityType, entity, false); if (_states.TryGetValue(stateKey, out var state) == false) throw new Exception($"AggregateRootRepository 使用仓储对象查询后,才可以保存数据 {Orm.GetEntityString(EntityType, entity)}"); AggregateRootUtils.CompareEntityValue(_boundaryName, Orm, EntityType, state.Value, entity, propertyName, tracking); - Attach(entity); //应该只存储 propertyName 内容 await SaveTrackingChangeAsync(tracking, cancellationToken); + Attach(entity); //应该只存储 propertyName 内容 } diff --git a/Extensions/FreeSql.Extensions.AggregateRoot/AggregateRootRepository/AggregateRootRepositorySync.cs b/Extensions/FreeSql.Extensions.AggregateRoot/AggregateRootRepository/AggregateRootRepositorySync.cs index 7dd14422..a29d24cf 100644 --- a/Extensions/FreeSql.Extensions.AggregateRoot/AggregateRootRepository/AggregateRootRepositorySync.cs +++ b/Extensions/FreeSql.Extensions.AggregateRoot/AggregateRootRepository/AggregateRootRepositorySync.cs @@ -238,10 +238,10 @@ namespace FreeSql if (_states.TryGetValue(stateKey, out var state) == false) throw new Exception($"AggregateRootRepository 使用仓储对象查询后,才可以更新数据 {Orm.GetEntityString(EntityType, entity)}"); AggregateRootUtils.CompareEntityValue(_boundaryName, Orm, EntityType, state.Value, entity, null, tracking); } + var affrows = SaveTrackingChange(tracking); foreach (var entity in entitys) Attach(entity); - - return SaveTrackingChange(tracking); + return affrows; } public virtual int Delete(TEntity entity) => DeleteWithinBoundary(new[] { entity }, null); @@ -285,8 +285,8 @@ namespace FreeSql var stateKey = Orm.GetEntityKeyString(EntityType, entity, false); if (_states.TryGetValue(stateKey, out var state) == false) throw new Exception($"AggregateRootRepository 使用仓储对象查询后,才可以保存数据 {Orm.GetEntityString(EntityType, entity)}"); AggregateRootUtils.CompareEntityValue(_boundaryName, Orm, EntityType, state.Value, entity, propertyName, tracking); - Attach(entity); //应该只存储 propertyName 内容 SaveTrackingChange(tracking); + Attach(entity); //应该只存储 propertyName 内容 } diff --git a/Extensions/FreeSql.Extensions.AggregateRoot/FreeSql.Extensions.AggregateRoot.csproj b/Extensions/FreeSql.Extensions.AggregateRoot/FreeSql.Extensions.AggregateRoot.csproj index 911f11b4..5cf8fedd 100644 --- a/Extensions/FreeSql.Extensions.AggregateRoot/FreeSql.Extensions.AggregateRoot.csproj +++ b/Extensions/FreeSql.Extensions.AggregateRoot/FreeSql.Extensions.AggregateRoot.csproj @@ -18,7 +18,7 @@ true key.snk false - 1.0.2 + 1.0.3 @@ -26,15 +26,13 @@ - + FreeSql.Extensions.AggregateRoot.xml 3 - - net40