Я пытаюсь сделать метод заказа запроса в классе, который я сделал.Закажите запрос, используя метод класса
я написал следующее, в надежде, что всякий раз, когда я бы передать запрос в качестве параметра, он заказал бы для меня:
public static void Ordenar<T>(IEnumerable<T> query, string columna, string orden)
{
if (!(String.IsNullOrEmpty(orden) || String.IsNullOrEmpty(columna)))
{
if (orden == "ASC") query.OrderBy(x => x.GetType().GetField(columna).GetValue(query));
if (orden == "DESC") query.OrderByDescending(x => x.GetType().GetField(columna).GetValue(query));
}
}
безрезультатно. Я не могу управлять, чтобы заставить его работать так:
db.Thingys.OrderBy(x=> x.Name);
Как можно «выбрать» это поле я хочу заказать запрос, в общем? Пожалуйста, помогите. D: Я использую ASP.NET MVC3
Извините за то, что вы медлите, но что не так с методами LINQ 'OrderBy' и' OrderByDescending'? Зачем вам нужна специальная версия? –
Когда вы говорите, что это не сработает, вы имеете в виду использование точного кода выше? Ваш метод не возвращает последовательность «запрос». Вы ожидали, что он будет заказан так, как будто «по ссылке»? Это не произойдет с IEnumerable. – mdisibio
Я пытаюсь заказать запрос по шаблону, который я передаю по параметру. Я не знал, что его невозможно заказать «по ссылке». Во всяком случае, этот метод не работает: запрос не упорядочивается, даже до завершения метода. – Umagon