C# 如何更新IEnumerable类属性

C# 如何更新IEnumerable类属性,c#,ienumerable,C#,Ienumerable,我有这个密码 private IEnumerable<HorasVM> InsertarCalendarioValores(IEnumerable<HorasVM> listaHoras, string proyectoId, DateTime fechaInicio, DateTime fechaFin) { IEnumerable<ValoresEnFecha> calendarioValoresFULCRUM; IEnumerable

我有这个密码

private IEnumerable<HorasVM> InsertarCalendarioValores(IEnumerable<HorasVM> listaHoras, string proyectoId, DateTime fechaInicio, DateTime fechaFin)
  {
    IEnumerable<ValoresEnFecha> calendarioValoresFULCRUM;
    IEnumerable<ValoresEnFecha> calendarioValoresSERS;
    IEnumerable<ValoresEnFecha> calendarioValoresMATRIZ;
    decimal realizadoSERS;
    decimal realizadoMATRIZ;

    foreach (var item in listaHoras)
    {
      calendarioValoresFULCRUM = GetDesdeHasta(dbFULCRUM, proyectoId, item.EmpleadoId, fechaInicio, fechaFin, item.Type);
      calendarioValoresSERS = GetDesdeHasta(dbSERS, proyectoId, item.EmpleadoId, fechaInicio, fechaFin, item.Type);
      calendarioValoresMATRIZ = GetDesdeHasta(dbMATRIZ, proyectoId, item.EmpleadoId, fechaInicio, fechaFin, item.Type);

      foreach (var mes in calendarioValoresFULCRUM)
      {
        realizadoSERS = calendarioValoresSERS.Where(c => c.Fecha == mes.Fecha).FirstOrDefault().Realizado;
        realizadoMATRIZ= calendarioValoresMATRIZ.Where(c => c.Fecha == mes.Fecha).FirstOrDefault().Realizado;
        mes.Realizado += realizadoSERS + realizadoMATRIZ;
      }

      item.CalendarioValores = calendarioValoresFULCRUM;
    }

    return listaHoras;
  }
在我的方法中,我得到了这个listaHoras

其中,每个项目的属性CalendarioValores为null,我想计算它,因此对于listaHoras中的每个项目,我获取值并将其分配给每个项目

但是当我更新listaHoras中的项目时,该项目仍然具有未分配的CalendarioValores属性

item.CalendarioValores = calendarioValoresFULCRUM;
未更新listaHoras的每个项的属性

有什么想法吗


关于

问题是使用只读IEnumerable类型而不是列表
谢谢

您是否尝试过用最少的代码重现问题?属性较少的类和业务逻辑较少的类?阅读这个问题有点难。最好删除不必要的属性或与问题无关的方法。您知道调用calendarioValoresFULCRUM=GetDesdeHasta(//etc)会返回任何内容吗?我会将IEnumerable listaHoras作为IList。IEnumerable是readonlyTanks@level_zebra这就是问题所在
public class ValoresEnFecha
{
    public string Fecha { get; set; }
    public decimal Valor { get; set; }
    public decimal Realizado { get; set; }
    public decimal Planificado { get; set; }
}
item.CalendarioValores = calendarioValoresFULCRUM;