0
var PAS =
        (from v in dc.PAS
            where
            days.Contains(Convert.ToDateTime(v.fecha))
            group v.valor by new { v.entidad_id, v.modulo_id, v.peticion_id, v.hora_id, v.dia_id } into hg
            orderby hg.Key.entidad_id descending, hg.Key.peticion_id ascending, hg.Key.hora_id descending
            select new
            {
                Hora = hg.Key.hora_id,
                Dia = hg.Key.dia_id,
                Entidad = hg.Key.entidad_id,
                Modulo = hg.Key.modulo_id,
                Peticion = hg.Key.peticion_id,
                Media = Math.Round(System.Convert.ToDouble(hg.Average()), 3, MidpointRounding.AwayFromZero)
            };

然后做一个foreach,并将每个结果的新行插入到另一个具有这个新值的表中......(因为我不能批量,至少我不知道如何在LINQ中)

我有三个v.peticion_id可能的值...我想获得两个 ' Media' 列,一个带有实际媒体,另一个仅带有v.peticion_id = 0值...我无法更好地解释,所以这里是我想要获得的示例。 ..

Hora  |  Dia  |  Entidad  |  Modulo  |  Peticion  |  Media  |  Media2
  0       0         0          0           0         333.3  |  333.3
  0       0         0          0           1         4.4    |  333.3
  0       0         0          0           2         0.7    |  333.3
  1       0         0          0           0         178.2  |  178.2
  1       0         0          0           1         1.8    |  178.2
  1       0         0          0           2         0      |  178.2

我希望有一个人可以帮助我..

4

1 回答 1

0

只需选择v.peticion_id == 0

还是我误解了你想在这里做什么?

于 2013-01-10T12:47:09.203 回答