如何根据参数对LINQ或DESC中的特定列进行排序

时间:2017-03-31 12:47:14

标签: c# linq

我使用以下LINQ查询生成result

var field = "FirstName"; // or "LastName"
var type = "asc"; // or "desc"

var result = (from x in db.ContactSet
              select new
              {
                  x.FirstName,
                  x.LastName
              }).ToList();

我需要orderby ascdesc(基于type变量)field变量。

我怎样才能以干净的方式做到这一点?

编辑:副本引用的问题不会回答这个问题。

1 个答案:

答案 0 :(得分:3)

使用Dynamic Linq

然后你可以写这样的东西......

var field = "FirstName"; // or "LastName"
var type = "ascending"; // or "descending" <-- full 

var result = (from x in db.ContactSet
          select new
          {
              x.FirstName,
              x.LastName
          }).ToList();

result = result.OrderBy(field + " " + type).ToList();