2012-02-18 105 views
0

我正在开发ASP.NET MVC应用程序。此应用程序通过JQuery执行查询。结果集从我的ASP.NET MVC控制器返回为JSON。在我返回序列化结果集之前,我需要将其修剪为仅限于我需要的属性。为此,我使用LINQ查询。这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; 
} 

当我执行这种方法,我注意到,精不包括我原来的查询总结和持续性。我希望我的结果集的结构如下:

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

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

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

谢谢!

回答

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类。