Métodos de System.DateTime
Seguinte LINQ para os métodos suportados SQL-, operadores, e propriedades estão disponíveis para usar em consultas LINQ to SQL. Quando um método, um operador ou uma propriedade são sem suporte, LINQ to SQL não pode converter o membro para execução no SQL Server. Você pode usar esses membros em seu código, no entanto, devem ser avaliado antes que a consulta seja convertida a Transact-SQL ou após os resultados foram recuperados de base de dados.
Membros de System.DateTime suportados
Mapeado uma vez no modelo de objeto ou no arquivo de mapeamento externo, LINQ to SQL permite que você chame os seguintes membros de System.DateTime dentro das consultas LINQ to SQL.
Métodos suportados de DateTime | Operadores de DateTime suportados | Propriedades suportadas de DateTime |
---|---|---|
Add | Addition | Date |
AddDays | Equality | Day |
AddHours | GreaterThan | DayOfWeek |
AddMilliseconds | GreaterThanOrEqual | DayOfYear |
AddMinutes | Inequality | Hour |
AddMonths | LessThan | Millisecond |
AddSeconds | LessThanOrEqual | Minute |
AddTicks | Subtraction | Month |
AddYears | Now | |
Compare | Second | |
CompareTo(DateTime) | TimeOfDay | |
Equals(DateTime) | Today | |
Year |
Membros não suportados por LINQ to SQL
Os seguintes membros não são compatíveis nas consultas do LINQ to SQL:
- IsDaylightSavingTime
- IsLeapYear
- DaysInMonth
- ToBinary
- ToFileTime
- ToFileTimeUtc
- ToLongDateString
- ToLongTimeString
- ToOADate
- ToShortDateString
- ToShortTimeString
- ToUniversalTime
- FromBinary
- UtcNow
- FromFileTime
- FromFileTimeUtc
- FromOADate
- GetDateTimeFormats
Exemplo de tradução de método
Todos os métodos compatíveis com o LINQ to SQL são convertidos em Transact-SQL antes de serem enviados ao SQL Server. Por exemplo, considere o seguinte padrão.
(dateTime1 – dateTime2).{Days, Hours, Milliseconds, Minutes, Months, Seconds, Years}
Quando se reconhece, ele é convertido em uma chamada direto à função SQL Server DATEDIFF
, como segue:
DATEDIFF({DatePart}, @dateTime1, @dateTime2)
Métodos de data e hora de SQLMethods
Além dos métodos oferecidos pela estrutura DateTime, o LINQ to SQL oferece os seguintes métodos na classe System.Data.Linq.SqlClient.SqlMethods para trabalhar com a data e a hora:
- DateDiffDay
- DateDiffMillisecond
- DateDiffNanosecond
- DateDiffHour
- DateDiffMinute
- DateDiffSecond
- DateDiffMicrosecond
- DateDiffMonth
- DateDiffYear