Skip to content

Commit

Permalink
修改仓储基类实现
Browse files Browse the repository at this point in the history
  • Loading branch information
yihango committed Nov 4, 2020
1 parent bb00f41 commit 57a4c8c
Showing 1 changed file with 61 additions and 28 deletions.
89 changes: 61 additions & 28 deletions src/Riven.Domain/Repositories/AppRepositoryBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,23 @@ public virtual List<TEntity> GetAllList()
return GetAll().ToList();
}

public virtual Task<List<TEntity>> GetAllListAsync()
public virtual async Task<List<TEntity>> GetAllListAsync()
{
return Task.FromResult(GetAllList());
await Task.Yield();

return this.GetAllList();
}

public virtual List<TEntity> GetAllList(Expression<Func<TEntity, bool>> predicate)
{
return GetAll().Where(predicate).ToList();
}

public virtual Task<List<TEntity>> GetAllListAsync(Expression<Func<TEntity, bool>> predicate)
public virtual async Task<List<TEntity>> GetAllListAsync(Expression<Func<TEntity, bool>> predicate)
{
return Task.FromResult(GetAllList(predicate));
await Task.Yield();

return this.GetAllList(predicate);
}

public virtual T Query<T>(Func<IQueryable<TEntity>, T> queryMethod)
Expand Down Expand Up @@ -75,29 +79,36 @@ public virtual TEntity Single(Expression<Func<TEntity, bool>> predicate)
return GetAll().Single(predicate);
}

public virtual Task<TEntity> SingleAsync(Expression<Func<TEntity, bool>> predicate)
public virtual async Task<TEntity> SingleAsync(Expression<Func<TEntity, bool>> predicate)
{
return Task.FromResult(Single(predicate));
await Task.Yield();


return this.Single(predicate);
}

public virtual TEntity FirstOrDefault(TKey id)
{
return GetAll().FirstOrDefault(CreateEqualityExpressionForId(id));
}

public virtual Task<TEntity> FirstOrDefaultAsync(TKey id)
public virtual async Task<TEntity> FirstOrDefaultAsync(TKey id)
{
return Task.FromResult(FirstOrDefault(id));
await Task.Yield();

return this.FirstOrDefault(id);
}

public virtual TEntity FirstOrDefault(Expression<Func<TEntity, bool>> predicate)
{
return GetAll().FirstOrDefault(predicate);
}

public virtual Task<TEntity> FirstOrDefaultAsync(Expression<Func<TEntity, bool>> predicate)
public virtual async Task<TEntity> FirstOrDefaultAsync(Expression<Func<TEntity, bool>> predicate)
{
return Task.FromResult(FirstOrDefault(predicate));
await Task.Yield();

return this.FirstOrDefault(predicate);
}

public virtual TEntity Load(TKey id)
Expand All @@ -107,9 +118,11 @@ public virtual TEntity Load(TKey id)

public abstract TEntity Insert(TEntity entity);

public virtual Task<TEntity> InsertAsync(TEntity entity)
public virtual async Task<TEntity> InsertAsync(TEntity entity)
{
return Task.FromResult(Insert(entity));
await Task.Yield();

return this.Insert(entity);
}

public virtual TKey InsertAndGetId(TEntity entity)
Expand Down Expand Up @@ -150,9 +163,20 @@ public virtual async Task<TKey> InsertOrUpdateAndGetIdAsync(TEntity entity)

public abstract TEntity Update(TEntity entity);

public virtual Task<TEntity> UpdateAsync(TEntity entity)
public virtual async Task<TEntity> UpdateAsync(TEntity entity)
{
await Task.Yield();

return this.Update(entity);
}

public abstract TEntity Update(IEnumerable<TEntity> entitys);

public virtual async Task<TEntity> UpdateAsync(IEnumerable<TEntity> entitys)
{
return Task.FromResult(Update(entity));
await Task.Yield();

return Update(entitys);
}

public virtual TEntity Update(TKey id, Action<TEntity> updateAction)
Expand All @@ -171,18 +195,19 @@ public virtual async Task<TEntity> UpdateAsync(TKey id, Func<TEntity, Task> upda

public abstract void Delete(TEntity entity);

public virtual Task DeleteAsync(TEntity entity)
public virtual async Task DeleteAsync(TEntity entity)
{
await Task.Yield();

Delete(entity);
return Task.CompletedTask;
}

public abstract void Delete(TKey id);

public virtual Task DeleteAsync(TKey id)
public virtual async Task DeleteAsync(TKey id)
{
await Task.Yield();
Delete(id);
return Task.CompletedTask;
}

public virtual void Delete(Expression<Func<TEntity, bool>> predicate)
Expand All @@ -208,39 +233,47 @@ public virtual int Count()
return GetAll().Count();
}

public virtual Task<int> CountAsync()
public virtual async Task<int> CountAsync()
{
return Task.FromResult(Count());
await Task.Yield();

return this.Count();
}

public virtual int Count(Expression<Func<TEntity, bool>> predicate)
{
return GetAll().Count(predicate);
return this.GetAll().Count(predicate);
}

public virtual Task<int> CountAsync(Expression<Func<TEntity, bool>> predicate)
public virtual async Task<int> CountAsync(Expression<Func<TEntity, bool>> predicate)
{
return Task.FromResult(Count(predicate));
await Task.Yield();

return this.Count(predicate);
}

public virtual long LongCount()
{
return GetAll().LongCount();
return this.GetAll().LongCount();
}

public virtual Task<long> LongCountAsync()
public virtual async Task<long> LongCountAsync()
{
return Task.FromResult(LongCount());
await Task.Yield();

return this.LongCount();
}

public virtual long LongCount(Expression<Func<TEntity, bool>> predicate)
{
return GetAll().LongCount(predicate);
}

public virtual Task<long> LongCountAsync(Expression<Func<TEntity, bool>> predicate)
public virtual async Task<long> LongCountAsync(Expression<Func<TEntity, bool>> predicate)
{
return Task.FromResult(LongCount(predicate));
await Task.Yield();

return this.LongCount(predicate);
}

protected virtual Expression<Func<TEntity, bool>> CreateEqualityExpressionForId(TKey id)
Expand Down

0 comments on commit 57a4c8c

Please sign in to comment.