Как передать список параметров PropertyExpression

У меня есть общий репозиторий, в котором я пытаюсь включить функцию, которая принимает список переменных дочерних таблиц для активной загрузки. Функция выглядит так:

    public IQueryable<T> FindBy(Expression<Func<T, bool>> predicate, params Expression<Func<T, object>>[] includeEntities)
    {
        IQueryable<T> query = this._dbSet.Where(e => !e.Deleted).Where(predicate);
        foreach (var entity in includeEntities)
        {
            query.Include(entity);
        }
        return query;
    }

Это работает, но я беспокоюсь о object ссылка.

Используя функцию таким образом:

var foundEntities = Repository.Entities.FindBy(i => i.Id == targetId, i => i.Orders, i => i.Invoices);

Параметры передаются в includeEntites массив имеют тип System.Linq.Expressions.PropertyExpression К сожалению, это внутренний класс, поэтому я не могу сделать сигнатуру функции:

public IQueryable<T> FindBy(Expression<Func<T, bool>> predicate, params Expression<Func<T, System.Linq.Expressions.PropertyExpression>>[] includeEntities)

как я хотел. Какие-нибудь мысли?

0 ответов

Другие вопросы по тегам