2012-02-18 18 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; 
} 

私はこの方法を実行

が、私は洗練された私の元のクエリからの要約と持続時間のプロパティが含まれていないことに気付きました。私はRefineResultsを実行したとき、私は私が期待する結果リストを取得し、このとき

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

:私はセット私の結果は以下のように構成することにしたいんです。しかし、私はどのように "結果"というプロパティにこれらのエントリを配置するかを把握することはできません。私はまた、 "要約"と "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クラスを作成することをお勧めします。

関連する問題