Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var movies = _db.Movies.OrderBy( m => { m.CategoryID, m.Name })
- Var movies = _db.Movies.OrderBy(c => c.Category).ThenBy(n => n.Name)
- var movies = from row in _db.Movies
- orderby row.Category, row.Name
- select row;
- var movies = from row in _db.Movies
- orderby row.Category descending, row.Name
- select row;
- var movies = _db.Movies.OrderBy( m => new { m.CategoryID, m.Name })
- var movies = _db.Movies.OrderBy( m => (m.CategoryID.ToString() + m.Name))
- _db.Log = Console.Out
- var movies = from row in _db.Movies
- orderby row.CategoryID, row.Name
- select row;
- var movies = _db.Movies.OrderBy(m => m.CategoryID).ThenBy(m => m.Name);
- SELECT [t0].ID, [t0].[Name], [t0].CategoryID
- FROM [dbo].[Movies] as [t0]
- ORDER BY [t0].CategoryID, [t0].[Name]
- var movies = from row in _db.Movies
- orderby row.CategoryID
- orderby row.Name
- select row;
- var movies = _db.Movies.OrderBy(m => m.CategoryID).OrderBy(m => m.Name);
- SELECT [t0].ID, [t0].[Name], [t0].CategoryID
- FROM [dbo].[Movies] as [t0]
- ORDER BY [t0].[Name], [t0].CategoryID
- public class MovieComparer : IComparer<Movie>
- {
- public int Compare(Movie x, Movie y)
- {
- if (x.CategoryId == y.CategoryId)
- {
- return x.Name.CompareTo(y.Name);
- }
- else
- {
- return x.CategoryId.CompareTo(y.CategoryId);
- }
- }
- }
- var movies = _db.Movies.OrderBy(item => item, new MovieComparer());
- // We do not have to care if the queryable is already sorted or not.
- // The order of the Smart* calls defines the order priority
- queryable.SmartOrderBy(i => i.Property1).SmartOrderByDescending(i => i.Property2);
- public static class IQueryableExtension
- {
- public static bool IsOrdered<T>(this IQueryable<T> queryable) {
- if(queryable == null) {
- throw new ArgumentNullException("queryable");
- }
- return queryable.Expression.Type == typeof(IOrderedQueryable<T>);
- }
- public static IQueryable<T> SmartOrderBy<T, TKey>(this IQueryable<T> queryable, Expression<Func<T, TKey>> keySelector) {
- if(queryable.IsOrdered()) {
- var orderedQuery = queryable as IOrderedQueryable<T>;
- return orderedQuery.ThenBy(keySelector);
- } else {
- return queryable.OrderBy(keySelector);
- }
- }
- public static IQueryable<T> SmartOrderByDescending<T, TKey>(this IQueryable<T> queryable, Expression<Func<T, TKey>> keySelector) {
- if(queryable.IsOrdered()) {
- var orderedQuery = queryable as IOrderedQueryable<T>;
- return orderedQuery.ThenByDescending(keySelector);
- } else {
- return queryable.OrderByDescending(keySelector);
- }
- }
- }
Add Comment
Please, Sign In to add comment