Skip to content

Commit 139b0e0

Browse files
committed
fix: 工作单元 支持 取消令牌
1 parent d1cf2c3 commit 139b0e0

File tree

6 files changed

+18
-11
lines changed

6 files changed

+18
-11
lines changed

framework/src/Bing.Datas.EntityFramework/Core/UnitOfWorkBase.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -365,11 +365,12 @@ public int Commit()
365365
/// <summary>
366366
/// 异步提交,返回影响的行数
367367
/// </summary>
368-
public async Task<int> CommitAsync()
368+
/// <param name="cancellationToken">取消令牌</param>
369+
public async Task<int> CommitAsync(CancellationToken cancellationToken = default)
369370
{
370371
try
371372
{
372-
return await SaveChangesAsync();
373+
return await SaveChangesAsync(cancellationToken);
373374
}
374375
catch (DbUpdateConcurrencyException ex)
375376
{

framework/src/Bing.FreeSQL/Bing/Uow/UnitOfWorkBase.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,11 +190,12 @@ public int Commit()
190190
/// <summary>
191191
/// 提交,返回影响的行数
192192
/// </summary>
193-
public async Task<int> CommitAsync()
193+
/// <param name="cancellationToken">取消令牌</param>
194+
public async Task<int> CommitAsync(CancellationToken cancellationToken = default)
194195
{
195196
try
196197
{
197-
return await SaveChangesAsync();
198+
return await SaveChangesAsync(cancellationToken);
198199
}
199200
catch (Exception ex)
200201
{

framework/src/Bing.Uow/Bing/Uow/IUnitOfWork.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@ public interface IUnitOfWork : IDisposable
1616
/// <summary>
1717
/// 提交,返回影响的行数
1818
/// </summary>
19-
Task<int> CommitAsync();
19+
/// <param name="cancellationToken">取消令牌</param>
20+
Task<int> CommitAsync(CancellationToken cancellationToken = default);
2021
}

framework/src/Bing.Uow/Bing/Uow/IUnitOfWorkManager.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ public interface IUnitOfWorkManager : IScopedDependency
1515
/// <summary>
1616
/// 提交
1717
/// </summary>
18-
Task CommitAsync();
18+
/// <param name="cancellationToken">取消令牌</param>
19+
Task CommitAsync(CancellationToken cancellationToken = default);
1920

2021
/// <summary>
2122
/// 注册工作单元

framework/src/Bing.Uow/Bing/Uow/UnitOfWorkManager.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,11 @@ public void Commit()
2727
/// <summary>
2828
/// 提交
2929
/// </summary>
30-
public async Task CommitAsync()
30+
/// <param name="cancellationToken">取消令牌</param>
31+
public async Task CommitAsync(CancellationToken cancellationToken = default)
3132
{
3233
foreach (var unitOfWork in _unitOfWorks)
33-
await unitOfWork.CommitAsync();
34+
await unitOfWork.CommitAsync(cancellationToken);
3435
}
3536

3637
/// <summary>

tests/Bing.Tests.Samples/Bing/Tests/Samples/CrudServiceSample.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System.Threading.Tasks;
1+
using System.Threading;
2+
using System.Threading.Tasks;
23
using Bing.Application.Services;
34
using Bing.Data.Queries;
45
using Bing.Extensions;
@@ -34,7 +35,8 @@ public void Dispose()
3435
/// <summary>
3536
/// 提交,返回影响的行数
3637
/// </summary>
37-
public Task<int> CommitAsync() => Task.FromResult(1);
38+
/// <param name="cancellationToken">取消令牌</param>
39+
public Task<int> CommitAsync(CancellationToken cancellationToken = default) => Task.FromResult(1);
3840
}
3941

4042
/// <summary>
@@ -60,4 +62,4 @@ public CrudServiceSample(IUnitOfWork unitOfWork, IRepositorySample repository) :
6062
/// </summary>
6163
/// <param name="parameter">查询参数</param>
6264
protected override IQueryBase<EntitySample> CreateQuery(QueryParameterSample parameter) => new Query<EntitySample>(parameter);
63-
}
65+
}

0 commit comments

Comments
 (0)