我的选择返回来自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)的类
答案 0 :(得分: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()
};