假设时区偏移值为可空的int,我将如何将linq查询中的内容转换为该位置的当前时间?
var data = (from c in dbContext.Contacts
select new
{
c.Id,
TheirTime = DateTime.UtcNow.AddHours(c.TimezoneOffset)
})
这将返回“LINQ to Entities无法识别方法'System.DateTime AddHours(Double)'方法,并且此方法无法转换为商店表达式。”错误。
答案 0 :(得分:1)
您可以将EntityFunctions用于此特定查询:
var data = (from c in dbContext.Contacts
select new
{
c.Id,
TheirTime =EntityFunctions.AddHours(DateTime.UtcNow,c.TimezoneOffset)
})