在 Entity Data Model (EDM) 中,DateTime 类型表示其值位于以下范围的日期和时间:公元 0001 年 1 月 1 日午夜 12:00:00 到公元 2999 年 12 月 31 日下午 11:59:59。时间的最大精度为毫秒。
此类型映射到 SQL Server 中的 DataTime 类型。
EDM 规范函数和 DateTime 类型
EDM 提升规则足以确定下列 CLR -> 规范 -> 存储函数映射:
| CLR | 规范函数 | 存储函数 KATMAI | 存储函数 YUKON |
|---|---|---|---|
DateTime.Year |
Int Year(DateTime) |
||
DatePart(YEAR, date) |
DatePart(YEAR, date) |
||
DateTimeOffset.Year |
Int Year(DateTimeOffset) |
不支持 |
|
DateTime.Month |
Int Month(DateTime) |
DatePart(MONTH, date) |
DatePart(MONTH, date) |
DateTimeOffset.Year |
Int Month(DateTimeOffset) |
不支持 |
|
DateTime.Day |
Int Day(DateTime) |
DatePart(DAY, date) |
DatePart(DAY, date) |
DateTimeOffset.Day |
Int Day(DateTimeOffset) |
不支持 |
|
DateTime.Hour |
Int Hour(DateTime) |
DatePart(HOUR, date) |
DatePart(HOUR, date) |
DateTimeOffset.Hour |
Int Hour(DateTimeOffset) |
不支持 |
|
Timespan.Hours |
Int Hour(Time) |
||
DateTime.Minute |
Int Minute(DateTime) |
DatePart(MINUTE, date) |
DatePart(MINUTE, date) |
DateTimeOffset.Minute |
Int Minute(DateTimeOffset) |
不支持 |
|
Timespan.Minutes |
Int Minute(Time) |
||
DateTime.Second |
Int Second(DateTime) |
DatePart(SECOND, date) |
DatePart(SECOND, date) |
DateTimeOffset.Second |
Int Second(DateTimeOffset) |
不支持 |
|
Timespan.Seconds |
Int Second(Time) |
||
DateTime.Millisecond |
Int Millisecond(DateTime) |
DatePart(MILLISECOND, date) |
DatePart(MILLISECOND, date) |
DateTimeOffset.Millisecond |
Int Millisecond(DateTimeOffset) |
不支持 |
|
Timespan.Milliseconds |
Int Millisecond(Time) |
||
不支持 |
Int GetTotalOffsetMinutes(DateTimeOffset) |
DatePart(TZOFFSET,date) |
不支持 |
DateTime.Now |
CurrentDateTime()1 |
SysDateTime() |
GetDate() |
DateTimeOffset.Now |
CurrentDateTimeOffset() |
SysDateTimeOffset() |
不支持 |
DateTime.UtcNow |
CurrentUtcDateTime() |
SysUtcDateTime() |
GetUtcDate() |