Враховуючи значення зсуву часового поясу як 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)
})