private IQueryable <TEntity> BuildQuery(IBaseSpecification <TEntity> spec)
        {
            var query = DbSet.AsQueryable();

            if (spec.IgnoreSoftDeleteFilter)
            {
                query = query.IgnoreQueryFilters();
            }

            return(SpecificationBuilder <TEntity, TKey> .BuildQuery(query, spec));
        }