В следующем запросе linq у меня есть исключение деления на ноль, которое я не могу кодировать вокруг. Это происходит, когда сумма fldDevider возвращает 0.
Dim lstToReturn As List(Of MonthData)
lstToReturn = (
From myRow In dtSpotData.AsEnumerable()
Group myRow By myRow.Field(Of DateTime)(fldstartdate).Month Into Group
Select New MonthData() With {
.Month = Month,
.ValuePerMonth =
(
Group.Sum(Function(dr) dr.Field(Of [Decimal])(fldSomeGeneralValue)) /
(
Group.Sum(Function(dr) CDec(dr.Field(Of String)(fldDevider)))
)
)
}
).ToList()
Как я могу убедиться, что поле ValuePerMonth равно 0, когда функция Group.Sum (Function (dr) CDec (dr.Field (Of String) (fldDevider)))) возвращает 0. Или как мне вернуть 1 для Суммируйте fldDevider, если это на самом деле 0.
Приветствуются также некоторые советы о том, как лучше преобразовывать строки в десятичные.