Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Linq内部的时间转换中将可能的空值转换为默认值_C#_Linq - Fatal编程技术网

C# 在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

如果时区偏移值是一个可为null的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)'方法,并且此方法无法转换为存储表达式。”错误。

可用于此特定查询:

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

您可能想在这里查看我问题的答案()。另外,谢谢,我不熟悉这些。但它们已被弃用并替换为System.Data.Entity。DbFunctions@JohnS我不知道你的实体框架版本。但是谢谢你提供的信息。很酷的东西!