格式化LINQ查询结果集

时间:2012-02-18 15:25:24

标签: c# linq

我正在开发一个ASP.NET MVC应用程序。该应用程序通过JQuery执行查询。结果集从我的ASP.NET MVC控制器返回为JSON。在我返回序列化结果集之前,我需要将其修剪为仅需要的属性。为此,我正在使用LINQ查询。 LINQ查询如下所示:

private IEnumerable RefineResults(ResultList<Result> results)
{           
  // results has three properties: Summary, QueryDuration, and List
  var refined = results.Select(x => new
  {
    x.ID, x.FirstName, x.LastName
  });

  return refined;
}

当我执行此方法时,我注意到refine不包含原始查询中的Summary和Duration属性。我希望我的结果集结构如下:

Summary
QueryDuration
Results
 - Result 1
 - Result 2
 - Result 3
 ...

此时,当我执行RefineResults时,我得到了我期望的结果列表。但是,我无法弄清楚如何将这些条目放在名为“Results”的属性中。我也不知道如何添加“Summary”和“QueryDuration”属性。

有人可以指出我正确的方向吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

private object RefineResults(ResultList<Result> results)
{           
  // results has three properties: Summary, QueryDuration, and List
  var refined = results.Select(x => new
  {
    x.ID, x.FirstName, x.LastName
  });

  return new { Results = refined, Summary = results.Summary, QueryDuration = results.QueryDuration };
}

您可能希望为此函数的返回值创建特定的DTO类。

相关问题