Привязка к объектам, получение максимальной даты при отсутствии данных

#linq-to-entities #entity-framework-4.1

#привязка к объектам #entity-framework-4.1

Вопрос:

Вот мое утверждение:

 startDate = (from n in db.Nodes 
where n.SeedID == mySeedID select n.CreatedDate).Max<DateTime>();
  

Он отлично работает, когда есть данные для этого начального идентификатора. Однако иногда начальное значение является новым, поэтому узлов нет. Оператор приводит к исключению InvalidOperationException. Я мог бы обернуть это в try / catch. Есть ли лучший способ справиться с этим сценарием?

Ответ №1:

Может быть, использовать nullable DateTime?

 startDate = (from n in db.Nodes 
             where n.SeedID == mySeedID 
             select (DateTime?)n.CreatedDate).Max<DateTime?>();