2008-10-31 9 views
6

¿Qué puse en mi orden por ?? Quiero ordenar por nombre. He movido el pedido después de lo distinto porque he leído que debe hacerse al final.¿Cómo puedo hacer que mi pedido funcione con un tipo anónimo?

var result = (from r in db.RecordDocs 
        where r.RecordID == recordID 
        select new 
          { 
           DocTypeID = r.Document.DocType.DocTypeID, 
           Name = r.Document.DocType.Name, 
           Number = r.Document.DocType.Number 
          } 
       ).Distinct().OrderBy(); 

Respuesta

13

Eso sí,

.OrderBy(doc => doc.Name) 
+0

gracias, estaba tratando de hacer name => name – ScottG

3

Otra opción, si realmente prefiere la sintaxis de expresión de consulta sería la cadena de la construcción de su consulta a través de múltiples declaraciones:

var query = from r in db.RecordDocs 
    where r.RecordID == recordID 
    select new 
    { 
     DocTypeID = r.Document.DocType.DocTypeID, 
     Name = r.Document.DocType.Name, 
     Number = r.Document.DocType.Number 
    }; 

query = query.Disctinct(); 
query = from doc in query orderby doc.Name select doc; 

Puesto que todos estos métodos se difieren, esto dará como resultado el mismo rendimiento de ejecución.

Cuestiones relacionadas