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# 错在哪里?分组依据、加入、选择.net_C#_Linq_Join_Linq Group - Fatal编程技术网

C# 错在哪里?分组依据、加入、选择.net

C# 错在哪里?分组依据、加入、选择.net,c#,linq,join,linq-group,C#,Linq,Join,Linq Group,我不知道哪里有错误,为什么它说,没有包含一个定义的重要性,solicitado,interestdemora和importereintegraro,当他们是c柱和d柱的最后一个 var importes = (from c in _context.ReintegroSolicitado join d in _context.ReintegroRecibido on c.Expediente.ID equals d.Expediente.ID

我不知道哪里有错误,为什么它说,没有包含一个定义的重要性,solicitado,interestdemora和importereintegraro,当他们是c柱和d柱的最后一个

var importes = (from c in _context.ReintegroSolicitado
                join d in _context.ReintegroRecibido on c.Expediente.ID equals d.Expediente.ID 
                group new {c,d} by new { c.Expediente.Codigo} into cd
                select new { ImporteSolictadoFinal = cd.Sum(b => b.ImporteSolicitado + b.InteresesDemora), ImporteReintegroFinal = cd.Sum(e => e.ImporteReintegro) });

这是很难得到正确的查询张贴。我尽了最大努力,但可能并不完全正确

           var importes = (from c in _context.reintegroSolicitado
                            join d in _context.reintegroRecibido on c.expediente.ID equals d.expediente.ID
                            select new { reintegroSolicitado = c, reintegroRecibido = c})
                            .GroupBy(x => new { c = x.reintegroSolicitado , d = x.reintegroRecibido})
                            .Select(cd => new { ImporteSolictadoFinal = cd.Sum(b => b.reintegroSolicitado.ImporteSolicitado + b.reintegroSolicitado.InteresesDemora), ImporteReintegroFinal = cd.Sum(e => e.reintegroRecibido.ImporteReintegro) });

        }

    }
    public class Context
    {
        public List<ReintegroSolicitado> reintegroSolicitado { get; set; }
        public List<ReintegroSolicitado> reintegroRecibido { get; set; }
        public Expediente expediente { get; set; }
    }
    public class ReintegroSolicitado
    {
        public Expediente expediente { get; set; }
        public int ImporteSolicitado { get; set; }
        public int InteresesDemora { get; set; }
        public int ImporteReintegro { get; set; }
    }
    public class Expediente
    {
        public int ID { get; set; }
        public int Codigo { get; set; }
    }
var importes=(来自_context.reintegrarosolicitado中的c
在c.envigate.ID等于d.envigate.ID的_context.reintegrarorecibido中加入d
选择新的{reintegroSolicitado=c,reintegroRecibido=c})
.GroupBy(x=>new{c=x.reintegrarosolicitado,d=x.reintegrarorecibido})
.Select(cd=>new{ImporteSolictadoFinal=cd.Sum(b=>b.reintegrarosolicitado.ImporteSolicitado+b.reintegrarosolicitado.interestesdemora),importereintegrationfinal=cd.Sum(e=>e.reintegraorrecibido.importereintegraro)});
}
}
公共类上下文
{
公共列表重新整合集合{get;set;}
公共列表重新集成Recibido{get;set;}
公共权宜之计{get;set;}
}
公共类再整合
{
公共权宜之计{get;set;}
公共int ImporteSolicitado{get;set;}
公共int-interest demora{get;set;}
public int importereintegraro{get;set;}
}
公共阶级权宜之计
{
公共int ID{get;set;}
public int Codigo{get;set;}
}

您的组元素包含两个属性cd。所以你需要参考 此属性为

...
select new { 
    ImporteSolictadoFinal = cd.Sum(b => b.c.ImporteSolicitado + b.c.InteresesDemora),
    ImporteReintegroFinal = cd.Sum(e => e.d.ImporteReintegro) }
...

嗨,我尝试过这个解决方案,但是当他们执行这个时,var没有值,有这个错误Static members=error CS0119:“ArgumentException”是一个类型,在给定上下文中无效。另一点是,我也想展示一下权宜之计。谢谢你,嗨,我尝试了你的答案,但并不完全正确,因为我没有显示Equipment.codigo,所以我看不出分组结果是否正确,我想是的,但并不完全正确。谢谢你的帮助