2008-10-31 40 views
6

我在我的订单中放了什么?我想按名称订购。我已经移动了命令,因为我读了它需要最后完成。如何使用匿名类型获取我的订单?

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(); 

回答

13

只是做

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

谢谢,我正试着做name => name – ScottG 2008-10-31 19:08:28

3

另一种选择,如果你真的喜欢查询表达式语法将链查询建设跨越多个语句:

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; 

由于所有的这些方法被推迟,这将导致完全相同的执行性能。