mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 02:32:50 +08:00
- 修复 聚合根仓储 Update 未更新自增状态管理的 bug;
This commit is contained in:
parent
02b16ba8bd
commit
974eb0b189
@ -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(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();
|
var tracking = new AggregateRootTrackingChangeInfo();
|
||||||
foreach (var entity in entitys)
|
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)}");
|
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);
|
AggregateRootUtils.CompareEntityValue(_boundaryName, Orm, EntityType, state.Value, entity, null, tracking);
|
||||||
}
|
}
|
||||||
|
var affrows = await SaveTrackingChangeAsync(tracking, cancellationToken);
|
||||||
foreach (var entity in entitys)
|
foreach (var entity in entitys)
|
||||||
Attach(entity);
|
Attach(entity);
|
||||||
|
return affrows;
|
||||||
return SaveTrackingChangeAsync(tracking, cancellationToken);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -233,8 +233,8 @@ namespace FreeSql
|
|||||||
var stateKey = Orm.GetEntityKeyString(EntityType, entity, false);
|
var stateKey = Orm.GetEntityKeyString(EntityType, entity, false);
|
||||||
if (_states.TryGetValue(stateKey, out var state) == false) throw new Exception($"AggregateRootRepository 使用仓储对象查询后,才可以保存数据 {Orm.GetEntityString(EntityType, entity)}");
|
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);
|
AggregateRootUtils.CompareEntityValue(_boundaryName, Orm, EntityType, state.Value, entity, propertyName, tracking);
|
||||||
Attach(entity); //应该只存储 propertyName 内容
|
|
||||||
await SaveTrackingChangeAsync(tracking, cancellationToken);
|
await SaveTrackingChangeAsync(tracking, cancellationToken);
|
||||||
|
Attach(entity); //应该只存储 propertyName 内容
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -238,10 +238,10 @@ namespace FreeSql
|
|||||||
if (_states.TryGetValue(stateKey, out var state) == false) throw new Exception($"AggregateRootRepository 使用仓储对象查询后,才可以更新数据 {Orm.GetEntityString(EntityType, entity)}");
|
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);
|
AggregateRootUtils.CompareEntityValue(_boundaryName, Orm, EntityType, state.Value, entity, null, tracking);
|
||||||
}
|
}
|
||||||
|
var affrows = SaveTrackingChange(tracking);
|
||||||
foreach (var entity in entitys)
|
foreach (var entity in entitys)
|
||||||
Attach(entity);
|
Attach(entity);
|
||||||
|
return affrows;
|
||||||
return SaveTrackingChange(tracking);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual int Delete(TEntity entity) => DeleteWithinBoundary(new[] { entity }, null);
|
public virtual int Delete(TEntity entity) => DeleteWithinBoundary(new[] { entity }, null);
|
||||||
@ -285,8 +285,8 @@ namespace FreeSql
|
|||||||
var stateKey = Orm.GetEntityKeyString(EntityType, entity, false);
|
var stateKey = Orm.GetEntityKeyString(EntityType, entity, false);
|
||||||
if (_states.TryGetValue(stateKey, out var state) == false) throw new Exception($"AggregateRootRepository 使用仓储对象查询后,才可以保存数据 {Orm.GetEntityString(EntityType, entity)}");
|
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);
|
AggregateRootUtils.CompareEntityValue(_boundaryName, Orm, EntityType, state.Value, entity, propertyName, tracking);
|
||||||
Attach(entity); //应该只存储 propertyName 内容
|
|
||||||
SaveTrackingChange(tracking);
|
SaveTrackingChange(tracking);
|
||||||
|
Attach(entity); //应该只存储 propertyName 内容
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
<SignAssembly>true</SignAssembly>
|
<SignAssembly>true</SignAssembly>
|
||||||
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
|
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
|
||||||
<DelaySign>false</DelaySign>
|
<DelaySign>false</DelaySign>
|
||||||
<Version>1.0.2</Version>
|
<Version>1.0.3</Version>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@ -26,15 +26,13 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="FreeSql.DbContext" Version="3.2.682" />
|
<ProjectReference Include="..\..\FreeSql.DbContext\FreeSql.DbContext.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|netstandard2.0|AnyCPU'">
|
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|netstandard2.0|AnyCPU'">
|
||||||
<DocumentationFile>FreeSql.Extensions.AggregateRoot.xml</DocumentationFile>
|
<DocumentationFile>FreeSql.Extensions.AggregateRoot.xml</DocumentationFile>
|
||||||
<WarningLevel>3</WarningLevel>
|
<WarningLevel>3</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<PropertyGroup Condition="'$(TargetFramework)' == 'net40'">
|
<PropertyGroup Condition="'$(TargetFramework)' == 'net40'">
|
||||||
<DefineConstants>net40</DefineConstants>
|
<DefineConstants>net40</DefineConstants>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user