我是新来使用SQL Server 2012和Date
类型在我的C#应用程序,并很好奇转变为DateTime
。我有一个DBML文件,代表我的表和类型,其服务器数据类型为Date
,类型为DateTime
。我试图做的当天,在我的表中的值之间的简单比较:SQL Server的日期到C#的DateTime
if (adc.HolidaySchedules.FirstOrDefault(d => ((DateTime)d.HolidayDate).Date.AddDays(-1) == DateTime.Today.Date) != null)
它抛出以下SqlException
The datepart millisecond is not supported by date function dateadd for data type date.
我很好奇,为什么我得到当我只访问Date
以及我应该做什么(显式或其他)来处理这种类型的转换时,这种特殊的例外情况。我原以为我可以致电AddDays()
在Date
。
我建议使用[SqlMethods](http://msdn.microsoft.com/en-us/library/system.data.linq.sqlclient.sqlmethods_methods(V = vs.110)的.aspx)在服务器上执行操作:'SqlMethods.DateDiffYear(o.ModifiedDate,DateTime.Now)> 1' –