【问题标题】:How can I get my orderby to work using an anonymous type?如何让我的 orderby 使用匿名类型工作?
【发布时间】:2008-10-31 18:59:58
【问题描述】:

我在订单中添加了什么?我想按名称订购。我在 distinct 之后移动了 orderby,因为我读到它需要最后完成。

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

【问题讨论】:

    标签: linq


    【解决方案1】:

    做事

    .OrderBy(doc => doc.Name)
    

    【讨论】:

      【解决方案2】:

      如果您真的更喜欢查询表达式语法,另一种选择是将您的查询构造链接到多个语句:

      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;
      

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

      【讨论】:

        猜你喜欢
        • 2017-10-09
        • 1970-01-01
        • 2013-05-23
        • 2014-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-14
        • 2020-05-11
        相关资源
        最近更新 更多