Я новичок в LINQ и пытаюсь создать некоторые точки данных из таблицы в граф. Три поля важности в этой таблице - это идентификатор, время и значение. Я пишу запрос, чтобы получить среднее значение за определенное время для выбранного идентификатора. LINQ, который я написал, следует:
var value = (from t in _table
where t.Id == id
&& t.Time >= intervalStartTime
&& t.Time <= intervalEndTime
select t.Value).Average();
Однако это приводит к сбоям во время выполнения:
"Нулевое значение не может быть присвоено член с типом System.Decimal который является типом значения, отличным от нуля."
В определенные промежутки времени нет данных, поэтому SQL LINQ генерирует null, что я хотел бы быть COALESCED равным 0, но вместо этого сбой приложения. Есть ли способ написать этот запрос LINQ, чтобы иметь возможность справиться с этим должным образом?
Определение таблицы, чтобы сделать все более ясным:
[Serializable]
[Table(Name = "ExampleTable")]
public class ExampleTable
{
[Column(Name = "Id")]
public int Id { get; set; }
[Column(Name = "Time")]
public DateTime Time { get; set; }
[Column(Name = "Value")]
public int Value{ get; set; }
}