System.DateTime (Métodos)
Los métodos, operadores y propiedades siguientes admitidos en LINQ to SQL, están disponibles para su uso en las consultas de LINQ to SQL. Si no se admite un método, operador ni propiedad, LINQ to SQL no puede convertir el miembro para la ejecución en SQL Server. Puede usar estos miembros en el código, sin embargo, deben evaluarse antes de convertir la consulta a Transact-SQL o después de recuperar los resultados de la base de datos.
Miembros System.DateTime admitidos
Una vez asignado en el modelo de objetos o en el archivo de asignación externo, LINQ to SQL permite llamar a los siguientes miembros de System.DateTime en las consultas de LINQ to SQL.
Métodos DateTime compatibles | Operadores DateTime compatibles | Propiedades DateTime admitidas |
---|---|---|
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 |
Miembros no admitidos por LINQ to SQL
Los siguientes miembros no se admiten en consultas de LINQ to SQL:
- IsDaylightSavingTime
- IsLeapYear
- DaysInMonth
- ToBinary
- ToFileTime
- ToFileTimeUtc
- ToLongDateString
- ToLongTimeString
- ToOADate
- ToShortDateString
- ToShortTimeString
- ToUniversalTime
- FromBinary
- UtcNow
- FromFileTime
- FromFileTimeUtc
- FromOADate
- GetDateTimeFormats
Ejemplo de conversión de método
Todos los métodos admitidos por LINQ to SQL se convierten a Transact-SQL antes de enviarse a SQL Server. Por ejemplo, considere el siguiente patrón:
(dateTime1 – dateTime2).{Days, Hours, Milliseconds, Minutes, Months, Seconds, Years}
Cuando se reconoce, se convierte en una llamada directa a la función DATEDIFF
de SQL Server, de la siguiente forma:
DATEDIFF({DatePart}, @dateTime1, @dateTime2)
Métodos Date y Time de SQLMethods
Además de los métodos proporcionados por la estructura DateTime, LINQ to SQL proporciona los métodos siguientes desde la clase System.Data.Linq.SqlClient.SqlMethods para trabajar con fechas y horas:
- DateDiffDay
- DateDiffMillisecond
- DateDiffNanosecond
- DateDiffHour
- DateDiffMinute
- DateDiffSecond
- DateDiffMicrosecond
- DateDiffMonth
- DateDiffYear