У меня есть модель GetX (DataTableParameters), где model.Order содержит столбец (который может быть 1 (Id), 2 (Name) и т. Д.) И Dir (который может быть «asc» или «desc «). Тогда у меня есть запрос LINQ, где я бы хотел динамически генерировать OrderByDescending или OrderBy и r => r.Id или r => r.Name в зависимости от значений модели.Динамически генерировать LINQ
DbContext.Users.Where(r => r.FirstName.Contains(model.Search.Value) ||
r.LastName.Contains(model.Search.Value) ||
r.Email.Contains(model.Search.Value))
.**OrderByDescending(r => r.Id)**.Skip(model.Start).Take(model.Length);
Это можно сделать? Если да, то кто-нибудь может указать мне в правильном направлении. Спасибо за любую помощь.
Вы пробовали? Он работает почти так же, как вы его набрали. Каждая функция LINQ * возвращает * результат *. Вам не нужно связывать все из них, просто поместите результат из 'Where()' в переменную, примените любой метод 'OrderBy', который вы хотите, затем перейдите к результату' OrderBy' и примените остальные методы –
Сделал это и застрял с большим количеством случаев if или switch, которые я хотел избежать. –