Попытка получить OrderBy на IQueryable для работы, без особой удачи.
Вот мой метод:
public ICollection<T> FindAll<T>(Expression<Func<T,bool>> predicate, Expression<Func<T,int>> orderingKey) where T : Post
{
return repository
.Find()
.Where(predicate)
.OfType<T>()
.OrderBy(orderingKey)
.ToPagedList();
}
Заказ работает, если я сделаю это:
FindAll(p => p.PostName == "Foo", p => p.PostId);
Но нет, если я хочу сделать это:
FindAll(p => p.PostName == "Foo", p => p.DateModified);
Конечно, это не работает, потому что я объявил выражение как T,int
, тогда как вышеприведенное выражение имеет тип T,DateTime
Как мне это объявить, чтобы я мог заказать любое свойство моей сущности (Post)?
Это LINQ-Entities (Entity Framework 4.0).