Я испытываю первую попытку внедрения шаблона универсального репозитория и модуля. Я не использую MVC в проекте в руке. Пожалуйста, обратите внимание на этот метод включен в Generic класса Repository:Внедрение общего репозитория с использованием кода структуры Entity first
public virtual IEnumerable<TEntity> Get(
Expression<Func<TEntity, bool>> filter = null,
Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null,
string includeProperties = "")
{
IQueryable<TEntity> query = dbSet;
if (filter != null)
{
query = query.Where(filter);
}
foreach (var includeProperty in includeProperties.Split
(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
{
query = query.Include(includeProperty);
}
if (orderBy != null)
{
return orderBy(query).ToList();
}
else
{
return query.ToList();
}
}
он должен быть мощным методом и достигает цели СУХИХ хорошо. Моя проблема в том, что я не могу упорядочить результат по убыванию? Может ли кто-нибудь написать некоторые строки кода, чтобы помочь мне в этом? Спасибо,
Он отлично работает, и проблема решена. – user2394196
Ну ... Вы знаете, где происходит операция фильтра? Я точно имею в виду; памяти веб-сервера или базы данных? А также можете ли вы помочь упорядочить результат по убыванию? Извините, это первый раз, когда мы работаем с этим шаблоном, и я знаю, что мне нужно больше узнать о GENERICS в C# :(Но я был бы признателен, если бы снова помог мне. – user2394196
Фильтрация происходит в базе данных, EF преобразует вашу лямбду выражение для SQL и передает его в базу данных. Извините, я не знаю о заказе, поскольку я не знаком с этим синтаксисом Func. Может быть, кто-то еще может помочь с этим? – Netricity