Создание выражения из строки имени свойства?

Я пытаюсь создать запрос, основанный на каком-то JSON, в настоящее время я анализирую JSON в набор правил, каждое правило содержит имя поля, тип сравнения (=,> и т. д.) и значение для сравнения.

У меня возникла проблема с получением этого правила из объекта IQueryable, я предполагаю, что мне нужно использовать отражение и каким-то образом построить дерево выражений, но яя не уверен в правильном подходе ...

Предполагая, что у меня есть:

public class Order : BaseEntity
{
    public int OrderID{ get; set; }
}

и у меня есть правило:

public class Rule
    {
        public string field { get; set; }
        public Operations op { get; set; }
        public string data { get; set; }
    }

Запустив его я получаю:

field = "OrderID"
op = "eq"
data = "123"

У меня есть метод, чтобы разобрать его с подписью:

public IQueryable FilterObjectSet(IQueryable inputQuery) where T : class

В рамках этого метода я хочу сделать:

inputQuery = inputQuery.Where(o => propertyInfo.Name == rule1.data);

Это нене работает, потому что он в основном просто генерирует sql "OrderID "="123" что, очевидно, неправильно, мне нужно взять имя столбца из inputQuery с тем же именем, что и propertyInfo.Name, и построить запрос таким образом ...

Надеюсь, это имело смысл? Какие-либо предложения?

Изменить: я думаю, что я спрашиваю, чтобы преобразовать строку (потому что я могу довольно просто построить одну из правила) в выражение, возможно, с использованием Dynamic LINQ?

Ответы на вопрос(2)

Ваш ответ на вопрос