2010-03-03 3 views
0

comment peut le ThenBy être traduit en Linq-To-Sql, s'il vous plaît?Comment faire cette instruction lamba en tant que Linq To Sql?

var movies = _db.Movies.Orderby(c => c.Category).ThenBy(n => n.Name) 

var movies = from m in _db.Movies 
      orderby m.Category 
      // What's the syntax for ThenBy?! 
      // thenby m.Name 
      select m; 

Lorsque je tente de faire thenby m.Name, je reçois une erreur de compilation.

Répondre

0

En plus d'une simple séparées par des virgules liste des expressions (qui se traduit à ThenBy appel de méthode), vous pouvez également spécifier l'ordre de tri:

var q = from m in db.Movies 
     orderby m.Category descending, m.Name ascending 
     select m 

// Translates to: 
db.Movies.OrderByDescending(...).ThenBy(...) 

Un autre exemple:

var q = from m in db.Movies 
     orderby m.Category, m.Name descending 
     select m 

// Translates to: 
db.Movies.OrderBy(...).ThenByDescending(...) 

Le premier élément de la liste séparée par des virgules est converti en OrderBy ou OrderByDescending (si vous spécifiez descending mot-clé). De même, les éléments suivants sont traduits en ThenBy ou en ThenByDescending. Vous pouvez également écrire ascending, mais c'est l'option par défaut, donc il se comporte exactement de la même manière que si vous ne l'utilisiez pas.

6
var movies = from m in _db.Movies 
     orderby m.Category, m.Name 
     select m; 
Questions connexes