public virtual async Task <IList <T> > BulkReadAsync(IList <T> entities, params Expression <Func <T, object> >[] whereClauseProperties)
 {
     if (entities != null && entities.Count > 0)
     {
         try
         {
             var properties = GetMemberNames(whereClauseProperties);
             await _dbContext.BulkReadAsync(entities, bulkConfig => { bulkConfig.UpdateByProperties = properties; bulkConfig.TrackingEntities = true; });
         }
         catch (Exception ex)
         {
             _logger.LogError(ex.Message, ex.InnerException);
             throw;
         }
     }
     return(entities);
 }