Общий список заказов лямбдаC#

Место общения программистов C#
Ответить
Anonymous
 Общий список заказов лямбда

Сообщение Anonymous »

Я пытаюсь создать общий механизм запроса для доступа к моему хранилищу. Я хочу использовать Lambda Expressions для фильтрации и сортировки запроса. Я изо всех сил пытаюсь найти способ пройти список общих выражений Lambda, в частности, для порядок, и я бы признателен за помощь. и сортировка на уровне базы данных. < /li>
< /ol>
Чтобы лучше проиллюстрировать это, позвольте мне показать вам код < /p>

Код: Выделить всё

public class Query
{
public class OrderBy
{
public Expression Clause { set; get; } // Order By clause
public bool Descending = true;
}

public Expression Where { set; get; } // Where clause
public IList OrderBys { set; get; } // Where clause

public Query()
{
OrderBys = new List();
}
}

public IEnumerable FindBy(Query query)
{
IQueryable Temp = GetObjectSet();
if (query.Where != null)
Temp = Temp.Where(query.Where);
foreach (var OrderByThis in query.OrderBys)
{
if (OrderByThis.Descending)
Temp = Temp.OrderByDescending(OrderByThis.Clause);
else
Temp = Temp.OrderBy(OrderByThis.Clause);
}

return Temp.ToList();
}
Это все очень приятно, но выражение не является общим. Мне нужно иметь возможность сделать что -то вроде: < /p>
Query query = new Query();
Query.OrderBy clause1 = new Query.OrderBy();
clause1.Clause = m => m.Username;
Query.OrderBy clause2 = new Query.OrderBy();
clause2.Clause = m => m.DateOfBirth;
query.OrderBys.Add(clause1);
query.OrderBys.Add(clause2);
< /code>
i.e. Добавление ряда различных полей разных типов.>

Подробнее здесь: https://stackoverflow.com/questions/119 ... rby-lambda
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»