mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 09:15:27 +08:00 
			
		
		
		
	- 修复 聚合根仓储 Update 未更新自增状态管理的 bug;
This commit is contained in:
		@@ -176,7 +176,7 @@ namespace FreeSql
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public virtual Task<int> UpdateAsync(TEntity entity, CancellationToken cancellationToken = default) => UpdateAsync(new[] { entity }, cancellationToken);
 | 
			
		||||
        public virtual Task<int> UpdateAsync(IEnumerable<TEntity> entitys, CancellationToken cancellationToken = default)
 | 
			
		||||
        async public virtual Task<int> UpdateAsync(IEnumerable<TEntity> 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 内容
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user