From 57a4c8ca80f34ec0fec0ace785677209c8de41bf Mon Sep 17 00:00:00 2001 From: staneee Date: Wed, 4 Nov 2020 23:23:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=93=E5=82=A8=E5=9F=BA?= =?UTF-8?q?=E7=B1=BB=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Repositories/AppRepositoryBase.cs | 89 +++++++++++++------ 1 file changed, 61 insertions(+), 28 deletions(-) diff --git a/src/Riven.Domain/Repositories/AppRepositoryBase.cs b/src/Riven.Domain/Repositories/AppRepositoryBase.cs index 63117af..622e557 100644 --- a/src/Riven.Domain/Repositories/AppRepositoryBase.cs +++ b/src/Riven.Domain/Repositories/AppRepositoryBase.cs @@ -28,9 +28,11 @@ public virtual List GetAllList() return GetAll().ToList(); } - public virtual Task> GetAllListAsync() + public virtual async Task> GetAllListAsync() { - return Task.FromResult(GetAllList()); + await Task.Yield(); + + return this.GetAllList(); } public virtual List GetAllList(Expression> predicate) @@ -38,9 +40,11 @@ public virtual List GetAllList(Expression> predicat return GetAll().Where(predicate).ToList(); } - public virtual Task> GetAllListAsync(Expression> predicate) + public virtual async Task> GetAllListAsync(Expression> predicate) { - return Task.FromResult(GetAllList(predicate)); + await Task.Yield(); + + return this.GetAllList(predicate); } public virtual T Query(Func, T> queryMethod) @@ -75,9 +79,12 @@ public virtual TEntity Single(Expression> predicate) return GetAll().Single(predicate); } - public virtual Task SingleAsync(Expression> predicate) + public virtual async Task SingleAsync(Expression> predicate) { - return Task.FromResult(Single(predicate)); + await Task.Yield(); + + + return this.Single(predicate); } public virtual TEntity FirstOrDefault(TKey id) @@ -85,9 +92,11 @@ public virtual TEntity FirstOrDefault(TKey id) return GetAll().FirstOrDefault(CreateEqualityExpressionForId(id)); } - public virtual Task FirstOrDefaultAsync(TKey id) + public virtual async Task FirstOrDefaultAsync(TKey id) { - return Task.FromResult(FirstOrDefault(id)); + await Task.Yield(); + + return this.FirstOrDefault(id); } public virtual TEntity FirstOrDefault(Expression> predicate) @@ -95,9 +104,11 @@ public virtual TEntity FirstOrDefault(Expression> predicate) return GetAll().FirstOrDefault(predicate); } - public virtual Task FirstOrDefaultAsync(Expression> predicate) + public virtual async Task FirstOrDefaultAsync(Expression> predicate) { - return Task.FromResult(FirstOrDefault(predicate)); + await Task.Yield(); + + return this.FirstOrDefault(predicate); } public virtual TEntity Load(TKey id) @@ -107,9 +118,11 @@ public virtual TEntity Load(TKey id) public abstract TEntity Insert(TEntity entity); - public virtual Task InsertAsync(TEntity entity) + public virtual async Task InsertAsync(TEntity entity) { - return Task.FromResult(Insert(entity)); + await Task.Yield(); + + return this.Insert(entity); } public virtual TKey InsertAndGetId(TEntity entity) @@ -150,9 +163,20 @@ public virtual async Task InsertOrUpdateAndGetIdAsync(TEntity entity) public abstract TEntity Update(TEntity entity); - public virtual Task UpdateAsync(TEntity entity) + public virtual async Task UpdateAsync(TEntity entity) + { + await Task.Yield(); + + return this.Update(entity); + } + + public abstract TEntity Update(IEnumerable entitys); + + public virtual async Task UpdateAsync(IEnumerable entitys) { - return Task.FromResult(Update(entity)); + await Task.Yield(); + + return Update(entitys); } public virtual TEntity Update(TKey id, Action updateAction) @@ -171,18 +195,19 @@ public virtual async Task UpdateAsync(TKey id, Func 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> predicate) @@ -208,29 +233,35 @@ public virtual int Count() return GetAll().Count(); } - public virtual Task CountAsync() + public virtual async Task CountAsync() { - return Task.FromResult(Count()); + await Task.Yield(); + + return this.Count(); } public virtual int Count(Expression> predicate) { - return GetAll().Count(predicate); + return this.GetAll().Count(predicate); } - public virtual Task CountAsync(Expression> predicate) + public virtual async Task CountAsync(Expression> 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 LongCountAsync() + public virtual async Task LongCountAsync() { - return Task.FromResult(LongCount()); + await Task.Yield(); + + return this.LongCount(); } public virtual long LongCount(Expression> predicate) @@ -238,9 +269,11 @@ public virtual long LongCount(Expression> predicate) return GetAll().LongCount(predicate); } - public virtual Task LongCountAsync(Expression> predicate) + public virtual async Task LongCountAsync(Expression> predicate) { - return Task.FromResult(LongCount(predicate)); + await Task.Yield(); + + return this.LongCount(predicate); } protected virtual Expression> CreateEqualityExpressionForId(TKey id)