C# 在Linq内部的时间转换中将可能的空值转换为默认值
如果时区偏移值是一个可为null的int,我如何在linq查询中将其转换为位置的当前时间C# 在Linq内部的时间转换中将可能的空值转换为默认值,c#,linq,C#,Linq,如果时区偏移值是一个可为null的int,我如何在linq查询中将其转换为位置的当前时间 var data = (from c in dbContext.Contacts select new { c.Id, TheirTime = DateTime.UtcNow.AddHours(c.Tim
var data = (from c in dbContext.Contacts
select new
{
c.Id,
TheirTime = DateTime.UtcNow.AddHours(c.TimezoneOffset)
})
这将返回一个“LINQ to Entities无法识别方法'System.DateTime AddHours(Double)'方法,并且此方法无法转换为存储表达式。”错误。可用于此特定查询:
var data = (from c in dbContext.Contacts
select new
{
c.Id,
TheirTime =EntityFunctions.AddHours(DateTime.UtcNow,c.TimezoneOffset)
})
您可能想在这里查看我问题的答案()。另外,谢谢,我不熟悉这些。但它们已被弃用并替换为System.Data.Entity。DbFunctions@JohnS我不知道你的实体框架版本。但是谢谢你提供的信息。很酷的东西!