试图订购LINQ结果

时间:2013-09-06 19:50:16

标签: c# linq entity

在我的一张桌子上,我添加了sortOrder。我现在需要更新此查询以尊重sortOrder权限!

这是我当前的查询:

var HTMLdocs = db.ProcedureDocs.Where(m => m.Procedures.Processes.processID == id && m.Document.html != null && m.Document.approvedBy != null).Select(m => m.Document);

具有sortOrder的表是Procedures

如何让上述查询返回sortOrder排序的结果。

这是表结构。

Processes can have 0 or many Procedures.
Document can have 0 or many ProcedureDocs.

ProcedureDocs has a foreign key to Procedures on procedureid.

我不知何故需要抓取一个Document集合,它会以某种方式尊重Procedures表中的顺序。

如果您需要任何其他信息,请与我们联系。

2 个答案:

答案 0 :(得分:3)

尝试这样的事情:

var HTMLdocs = db.ProcedureDocs
    .Where(m => m.Procedures.Processes.processID == id && 
                m.Document.html != null && 
                m.Document.approvedBy != null)
    .OrderBy(m => m.Procedures.sortOrder)
    .Select(m => m.Document);

或者在查询语法中:

var HTMLdocs = 
    from m in db.ProcedureDocs
    where m.Procedures.Processes.processID == id && 
          m.Document.html != null && 
          m.Document.approvedBy != null
    orderby m.Procedures.sortOrder
    select m.Document;

答案 1 :(得分:1)

var HTMLdocs = db.ProcedureDocs
    .Where(m => m.Procedures.Processes.processID == id 
       && m.Document.html != null && m.Document.approvedBy != null)

    .OrderBy(x=>x.Procedures.sortOrder)
    .Select(m => m.Document)