Поскольку linq завершен, вы можете сделать свой запрос, а затем применить свой вид отдельно. Если вы можете разделить, как вы немного сделать параметр сортировки, вы могли бы сделать что-то вроде этого: (этот код не был составлен, поэтому, пожалуйста, медведь со мной)
public enum SortDirection
{
Ascending = 0, //default value
Descending = 1
}
теперь, если вы передаете в выражении LinQ и направление, вы могли бы сделать что-то вроде этого:
public IQueryable<MyObject> GetWithSort(System.Linq.Expressions.Expression<Func<MyObject, TKey>> sortExpression, SortDirection direction)
{
var results = from accessdoc in dt1.AsEnumerable()
join content in dt2.AsEnumerable()
on accessdoc.Field<string>("name") equals content.Field<string>("FileName")
into docs
select...;
if (direction == SortDirection.Descending)
return results.OrderByDescending(sortExpression);
return results.OrderBy(sortExpression)
}
выбрать ... должны быть заменены, однако вы выбираете свои объекты из заявления Linq.
Вы могли бы предоставить полное выражение LINQ? почему «заказ от CreateDate» не работает для вас? – akonsu
он работает для меня, но который не является гибким, мне нужно сделать в качестве параметра, например, как, если параметр прошел, - «id desc»? – Elaine
вар запрос = из accessdoc в dt1.AsEnumerable() присоединиться содержание в dt2.AsEnumerable() на accessdoc.Field ("имя") равна content.Field ("FileName") в Документах OrderBy accessdoc. Поле (MY_PARAMETER) по убыванию –
akonsu