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 での方法はわかりません)

3 つのv.peticion_id可能な値があります... 2 つの ' ' 列を取得したいのですがMedia、1 つは実際のメディアで、もう 1 つは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 に答える