Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq选择具有重复行的结果_C#_Linq - Fatal编程技术网

C# Linq选择具有重复行的结果

C# Linq选择具有重复行的结果,c#,linq,C#,Linq,My select从数据库返回连接数据,其中每个对象都有几个属性。对于对象的每个属性,我都有一个新行。 我使用实体框架来检索数据 var products = _ctx.ExecuteFunction<GetProducts_Result>("GetProducts"); 如何使用linq高效地查询数据并映射到 class Product { int Code string Name List<Term> terms; } 其中Te

My select从数据库返回连接数据,其中每个对象都有几个属性。对于对象的每个属性,我都有一个新行。 我使用实体框架来检索数据

var products = _ctx.ExecuteFunction<GetProducts_Result>("GetProducts");
如何使用linq高效地查询数据并映射到

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

其中Term是一个带有参数Term的类,Rate

我认为缺少太多数据。你是如何得到第一个结果的?顺便问一下,如果你想通过这种方式获取数据,为什么不以那种形式将数据保存在数据库中?代码+名称是主键吗?我认为丢失的数据太多了。你是如何得到第一个结果的?顺便问一下,如果您想以这种方式获取数据,为什么不以这种形式将数据保存在数据库中?Code+Name是主键吗?
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()
               };
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()
               };