Во-первых, при использовании IQueryable<T>
предпочитайте выражения делегатам, т.е.
public virtual IQueryable<TEntity> GetManyQueryable(
Expression<Func<TEntity, bool>> where)
{
return dbSet.Where(where);
}
Тогда вы сможете использовать:
var query = whatever.Where(
g => g.productCode == initiate.productCode && g.referenceId == null).ToListAsync();
но, честно говоря ... это не сильно отличается от того, что у вас уже есть