我正在编写一个MVC 5互联网应用程序,我想编写一个既可以处理SQL语句又可以使用List的函数。
这是我的代码:
public static class TestableDbFunctions
{
[System.Data.Entity.DbFunction("Edm", "DiffDays")]
public static double? DiffDays(DateTime? dateValue1, DateTime? dateValue2)
{
if (!dateValue1.HasValue || !dateValue2.HasValue)
return null;
return (double)((dateValue2.Value - dateValue1.Value).TotalDays);
}
}
如您所见,代码计算两个DateTimes
之间的天数差。
我的问题是这样的:
代码应该是
(dateValue2.Value - dateValue1.Value).TotalDays
或
(dateValue1.Value - dateValue2.Value).TotalDays?
提前谢谢。
由于您正在尝试兼容SQL,因此最接近的类比是DateDiff。第一个参数是start date
,第二个参数是 i end date
。 代码应该是
return (endDate - startDate).TotalDays;