/ / Перетворення можливого значення null у значення за замовчуванням в перетвореннях часу всередині Linq - c #, linq

Перетворення можливого нульового значення до значення за умовчанням у перетворенні часу в Linq - c #, linq

Враховуючи значення зсуву часового поясу як nullable int, як я можу йти про перетворення, що всередині запиту linq до поточного часу розташування?

 var data = (from c in dbContext.Contacts
select new
{
c.Id,
TheirTime = DateTime.UtcNow.AddHours(c.TimezoneOffset)
})

Це повертає "LINQ до Entities не розпізнає метод" System.DateTime AddHours (Double) "метод, і цей метод не може бути переведений в магазин вираз." помилка.

Відповіді:

1 для відповіді № 1

Ви можете використовувати EntityFunctions для цього конкретного запиту:

var data = (from c in dbContext.Contacts
select new
{
c.Id,
TheirTime =EntityFunctions.AddHours(DateTime.UtcNow,c.TimezoneOffset)
})