1

私の選択は、オブジェクトごとにいくつかの属性があるdbから結合されたデータを返します。オブジェクトの属性ごとに、新しい行があります。Entity Framework を使用してデータを取得します。

var products = _ctx.ExecuteFunction<GetProducts_Result>("GetProducts");

GetProducts は、次の結果を返すストアド プロシージャです。

Code    | Name | Term | Rate
--------+------+------+-----
111     | Foo  | 12   | 10
111     | Foo  | 24   | 12  
111     | Foo  | 36   | 16
222     | Boo  | 12   | 8
222     | Boo  | 24   | 9

linq を使用してデータを効率的にクエリし、次のようなクラスにマップする方法

class Product
{
     int    Code
     string Name
     List<Term> terms;
}

Term はパラメーター (Term、Rate) を持つクラスです。

4

1 に答える 1

5
var products = from p in _ctx.ExecuteFunction<GetProducts_Result>("GetProducts")
               group p by new {p.Code, p.Name} into g
               select new Product
               {
                   Code = g.Key.Code,
                   Name = g.Key.Name,
                   terms = g.Select(x => new Terms { 
                                            Term = x.Term, 
                                            Rate = x.Rate }).ToList()
               };
于 2012-11-12T23:06:58.117 に答える