C# Linq to SQL if语句

C# Linq to SQL if语句,c#,sql,linq,C#,Sql,Linq,然后执行foreach,并将每个结果的新行插入到另一个具有此新值的表中。。。(因为我不能散装,至少我不知道如何在LINQ中散装) 我有三个v.peticion\u id可能的值。。。我想得到两个“Media”列,一个包含实际的媒体,另一个仅包含v.peticion_id=0值。。。我无法更好地解释,所以这里有一个我想要得到的例子 var PAS = (from v in dc.PAS where days.Contains(Conv

然后执行foreach,并将每个结果的新行插入到另一个具有此新值的表中。。。(因为我不能散装,至少我不知道如何在LINQ中散装)

我有三个
v.peticion\u id
可能的值。。。我想得到两个“
Media
”列,一个包含实际的媒体,另一个仅包含
v.peticion_id=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)
            };

我希望有人能帮助我。

只需选择
v.peticion\u id==0


或者我误解了你想在这里做什么?

如果我这样做,我只会得到peticion_id==0的结果,但我想得到0、1和2,但column Media2只是peticion_id==0的平均值对不起@user1381537,但我不知道你的意思。你能试着解释一下吗?首先分组,不使用
peticion_id
,计算
Media2
条件
peticion_id==0
,然后按
peticion_id
将这些数据分组,并计算平均值。你能写一个示例代码吗??我不知道如何使用
peticion\u id==0的条件分组,然后在同一查询中使用
peticion\u id
分组。。。非常感谢。
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