1.) У меня есть запрос лица, как: return myEntityStore.Query<theType>(x => x.Name == "whatevs");
несколько выражений LINQ, и динамические свойства
Однако, в идеале я хочу вызвать функцию, которая присоединяет другие выражения для исходного запроса, как OrderBy-х и более Где.
Что-то вроде этого:
public IQueryable<T> ProcessQuery<T>(System.Linq.Expressions.Expression<Func<T, bool>> theOriginalQuery) where T: class
{
return EntityStore.Query<T>(theOriginalQuery).Where(x => x.Active == true).OrderBy(x => x.OrderBy);
}
2.) Одна из очевидных проблем является то, что я работаю с <T>
, так есть ли способ задать свойство в виде строки или что-то?
<T>(expression).OrderBy(x => "x.ThisColumnExistsIPromise");
3.) Функция запроса уже преобразует выражение в тех случаях, когда(), так что было бы достаточно, чтобы просто сделать где (выражение) .гд (выражение)?
Итак, в конце концов, можно ли достичь следующего?
entityStore.Query<T>(originalExpression).Where(additionalExpression).Where(x => "x.Active == true").OrderBy(x => "x.OrderBy");
Как вы могли догадаться, наши стандарты схемы заставляют каждую таблицу иметь столбец «Active» и «OrderBy». –
Рассматривали ли вы реализацию интерфейса для каждого типа с этими двумя свойствами? – dtb