本文整理汇总了C#中IQueryable.SortBy方法的典型用法代码示例。如果您正苦于以下问题:C# IQueryable.SortBy方法的具体用法?C# IQueryable.SortBy怎么用?C# IQueryable.SortBy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IQueryable
的用法示例。
在下文中一共展示了IQueryable.SortBy方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PackageListViewModel
public PackageListViewModel(IQueryable<Package> packages,
string searchTerm,
string sortOrder,
int pageIndex,
int pageSize,
UrlHelper url)
{
// TODO: Implement actual sorting
IEnumerable<ListPackageItemViewModel> items;
using (MiniProfiler.Current.Step("Querying and mapping packages to list"))
{
items = packages.SortBy(GetSortExpression(sortOrder))
.Skip(pageIndex * pageSize)
.Take(pageSize)
.ToList()
.Select(pv => new ListPackageItemViewModel(pv));
}
PageIndex = pageIndex;
PageSize = pageSize;
TotalCount = packages.Count();
SortOrder = sortOrder;
SearchTerm = searchTerm;
int pageCount = (TotalCount + PageSize - 1) / PageSize;
var pager = new PreviousNextPagerViewModel<ListPackageItemViewModel>(
items,
PageIndex,
pageCount,
page => url.PackageList(page, sortOrder, searchTerm)
);
Items = pager.Items;
FirstResultIndex = 1 + (PageIndex * PageSize);
LastResultIndex = FirstResultIndex + Items.Count() - 1;
Pager = pager;
}
示例2: ApplyOrdering
private IOrderedQueryable<IPackage> ApplyOrdering(IQueryable<IPackage> query)
{
// If the default sort is null then fall back to rating
if (Provider.CurrentSort == null) {
return query.OrderByDescending(p => p.Rating);
}
// Order by the current descriptor
return query.SortBy<IPackage>(Provider.CurrentSort, typeof(RecentPackage));
}