EF架构~EF异步改造之路~仓储接口的改造~续

时间:2021-08-08 06:51:55

回到目录

返回异步与并行目录

在写完仓储接口的改造改造后,总觉得有个代码的坏味道,这种味道源于它的DRP,即重复的代码太多了,即异步操作和同步操作其实只是在insert,update和delete上有所不同,获取数据的方法都是一样的,所以,我最后决定,将异步的接口进行改造,让它更加合理,方法后都加上Async的后缀,看上去也更像是个异步方法,呵。

改造后的异步接口

  /// <summary>
/// 异步操作
/// 基础的数据操作规范
/// 与ORM架构无关
/// </summary>
/// <typeparam name="TEntity"></typeparam>
public interface IRepositoryAsync<TEntity>
where TEntity : class
{ /// <summary>
/// 添加实体并提交到数据服务器
/// </summary>
/// <param name="item">Item to add to repository</param>
Task InsertAsync(TEntity item); /// <summary>
/// 移除实体并提交到数据服务器
/// 如果表存在约束,需要先删除子表信息
/// </summary>
/// <param name="item">Item to delete</param>
Task DeleteAsync(TEntity item); /// <summary>
/// 修改实体并提交到数据服务器
/// </summary>
/// <param name="item"></param>
Task UpdateAsync(TEntity item); /// <summary>
/// 添加集合[集合数目不大时用此方法,超大集合使用BulkInsert]
/// </summary>
/// <param name="item"></param>
Task InsertAsync(IEnumerable<TEntity> item); /// <summary>
/// 修改集合[集合数目不大时用此方法,超大集合使用BulkUpdate]
/// </summary>
/// <param name="item"></param>
Task UpdateAsync(IEnumerable<TEntity> item); /// <summary>
/// 删除集合[集合数目不大时用此方法,超大集合使用批量删除]
/// </summary>
/// <param name="item"></param>
Task DeleteAsync(IEnumerable<TEntity> item);
/// <summary>
/// 批量添加,添加之前可以去除自增属性,默认不去除
/// </summary>
/// <param name="item"></param>
/// <param name="isRemoveIdentity"></param>
Task BulkInsertAsync(IEnumerable<TEntity> item, bool isRemoveIdentity); /// <summary>
/// 批量添加
/// </summary>
/// <param name="item"></param>
Task BulkInsertAsync(IEnumerable<TEntity> item); /// <summary>
/// 批量更新
/// </summary>
/// <param name="item"></param>
Task BulkUpdateAsync(IEnumerable<TEntity> item, params string[] fieldParams); /// <summary>
/// 批量删除
/// </summary>
/// <param name="item"></param>
Task BulkDeleteAsync(IEnumerable<TEntity> item);
}

而原来的IExtendRepository同时去继承同步和异步两个仓储接口

aaarticlea/png;base64,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" alt="" />

而在调用上,开发者们更清楚自己使用的是同步还是异步方法

aaarticlea/png;base64,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" alt="" />

回到目录

返回异步与并行目录