我的存储库CountAsync (Expression <Func <TModel, bool> predicate)
和Count (Expression <Func <TModel, bool >> predicate)
中有两种方法
我想实现一个而第二个调用第一个实现是最好的方法。
1。我实现了异步方法
public Task<int> CountAsync(Expression<Func<TModel, bool>> predicate)
{
// some code;
// .
// .
// .
// call Entity Framework CountAsync method
return _dbset.CountAsync(predicate);
}
然后是第二种方法
public int Count(Expression<Func<TModel, bool>> predicate)
{
// calling the async version and get the result value
return CountAsync(predicate).Result;
}
2。我实现了同步方法
public int Count(Expression<Func<TModel, bool>> predicate)
{
// some code;
// .
// .
// .
// call Entity Framework Count method
return _dbset.Count(predicate);
}
然后
public Task<int> CountAsync(Expression<Func<TModel, bool>> predicate)
{
// embed the sync method in a task
return Task.Run(() => Count(predicate));
}