Compartir a través de


Asignaciones de funciones del proveedor de SQLite EF Core

En esta página se muestran los miembros de .NET que se traducen en qué funciones SQL al usar el proveedor de SQLite.

Funciones de agregado

.NET SQL Agregado en
group.Average(x => x.Property) AVG(Property)
group.Average(x => x.DecimalProperty) ef_avg(DecimalProperty) EF Core 9.0
group.Count() COUNT(*)
group.LongCount() COUNT(*)
group.Max(x => x.Property) MAX(Property)
group.Min(x => x.Property) MIN(Property)
group.Sum(x => x.Property) SUM(Property)
group.Sum(x => x.DecimalProperty) ef_sum(DecimalProperty) EF Core 9.0
string.Concat(group.Select(x => x.Property)) group_concat(Property, '') EF Core 7.0
string.Join(separator, group.Select(x => x.Property)) group_concat(Property, @separator) EF Core 7.0

Funciones binarias

.NET SQL Agregado en
bytes.Contains(value) instr(@bytes, char(@value)) > 0
bytes.Length length(@bytes)
bytes.SequenceEqual(second) @bytes = @second
EF.Functions.Hex(bytes) hex(@bytes)
EF.Functions.Substr(bytes, startIndex) substr(@bytes, @startIndex)
EF.Functions.Substr(bytes, startIndex, length) substr(@bytes, @startIndex, @length)
EF.Functions.Unhex(value) unhex(@value) EF Core 8.0
EF.Functions.Unhex(value, ignoreChars) unhex(@value, @ignoreChars) EF Core 8.0

Funciones de conversión

.NET SQL
boolValue.ToString() CAST(@boolValue AS TEXT)
byteValue.ToString() CAST(@byteValue AS TEXT)
bytes.ToString() CAST(@bytes AS TEXT)
charValue.ToString() CAST(@charValue AS TEXT)
dateTime.ToString() CAST(@dateTime AS TEXT)
dateTimeOffset.ToString() CAST(@dateTimeOffset AS TEXT)
decimalValue.ToString() CAST(@decimalValue AS TEXT)
doubleValue.ToString() CAST(@doubleValue AS TEXT)
floatValue.ToString() CAST(@floatValue AS TEXT)
guid.ToString() CAST(@guid AS TEXT)
intValue.ToString() CAST(@intValue AS TEXT)
longValue.ToString() CAST(@longValue AS TEXT)
sbyteValue.ToString() CAST(@sbyteValue AS TEXT)
shortValue.ToString() CAST(@shortValue AS TEXT)
timeSpan.ToString() CAST(@timeSpan AS TEXT)
uintValue.ToString() CAST(@uintValue AS TEXT)
ushortValue.ToString() CAST(@ushortValue AS TEXT)

Funciones de fecha y hora

.NET SQL Agregado en
dateOnly.AddDays(value) date(@dateOnly, @value || ' days')
dateOnly.AddMonths(months) date(@dateOnly, @months || ' months')
dateOnly.AddYears(value) date(@dateOnly, @value || ' years')
dateOnly.Day strftime('%d', @dateOnly)
dateOnly.DayOfWeek strftime('%w', @dateOnly)
dateOnly.DayOfYear strftime('%j', @dateOnly)
DateOnly.FromDateTime(dateTime) date(@dateTime) EF Core 8.0
dateOnly.Month strftime('%m', @dateOnly)
dateOnly.Year strftime('%Y', @dateOnly)
DateTime.Now datetime('now', 'localtime')
DateTime.Today datetime('now', 'localtime', 'start of day')
DateTime.UtcNow datetime('now')
dateTime.AddDays(value) datetime(@dateTime, @value || ' days')
dateTime.AddHours(value) datetime(@dateTime, @d || ' hours')
dateTime.AddMilliseconds(value) datetime(@dateTime, (@value / 1000.0) || ' seconds')
dateTime.AddMinutes(value) datetime(@dateTime, @value || ' minutes')
dateTime.AddMonths(months) datetime(@dateTime, @months || ' months')
dateTime.AddSeconds(value) datetime(@dateTime, @value || ' seconds')
dateTime.AddTicks(value) datetime(@dateTime, (@value / 10000000.0) || ' seconds')
dateTime.AddYears(value) datetime(@dateTime, @value || ' years')
dateTime.Date datetime(@dateTime, 'start of day')
dateTime.Day strftime('%d', @dateTime)
dateTime.DayOfWeek strftime('%w', @dateTime)
dateTime.DayOfYear strftime('%j', @dateTime)
dateTime.Hour strftime('%H', @dateTime)
dateTime.Millisecond (strftime('%f', @dateTime) * 1000) % 1000
dateTime.Minute strftime('%M', @dateTime)
dateTime.Month strftime('%m', @dateTime)
dateTime.Second strftime('%S', @dateTime)
dateTime.Ticks (julianday(@dateTime) - julianday('0001-01-01 00:00:00')) * 864000000000
dateTime.TimeOfDay time(@dateTime)
dateTime.Year strftime('%Y', @dateTime)

Nota:

Se ha simplificado parte del SQL con fines ilustrativos. El SQL actual es más complejo para manipular una gama más amplia de valores.

Funciones numéricas

.NET SQL Agregado en
-decimalValue ef_negate(@decimalValue)
decimalValue - d ef_add(@decimalValue, ef_negate(@d))
decimalValue * d ef_multiply(@decimalValue, @d)
decimalValue / d ef_divide(@decimalValue, @d)
decimalValue % d ef_mod(@decimalValue, @d)
decimalValue + d ef_add(@decimalValue, @d)
decimalValue < d ef_compare(@decimalValue, @d)< 0
decimalValue <= d ef_compare(@decimalValue, @d)<= 0
decimalValue > d ef_compare(@decimalValue, @d)> 0
decimalValue >= d ef_compare(@decimalValue, @d)>= 0
double.DegreesToRadians(degrees) radians(@degrees) EF Core 8.0
double.RadiansToDegrees(radians) degrees(@dradians) EF Core 8.0
doubleValue % d mod(@doubleValue, @d)
EF.Functions.Random() abs(random() / 9223372036854780000.0)
Math.Abs(value) abs(@value)
Math.Acos(value) acos(@value) EF Core 8.0
Math.Acosh(d) acosh(@d) EF Core 8.0
Math.Asin(d) asin(@d) EF Core 8.0
Math.Asinh(d) asinh(@d) EF Core 8.0
Math.Atan(d) atan(@d) EF Core 8.0
Math.Atan2(y, x) atan2(@y, @x) EF Core 8.0
Math.Atanh(d) atanh(@d) EF Core 8.0
Math.Ceiling(d) ceiling(@d) EF Core 8.0
Math.Cos(d) cos(@d) EF Core 8.0
Math.Cosh(value) cosh(@value) EF Core 8.0
Math.Exp(d) exp(@d) EF Core 8.0
Math.Floor(d) floor(@d) EF Core 8.0
Math.Log(d) ln(@d) EF Core 8.0
Math.Log(a, newBase) log(@newBase, @a) EF Core 8.0
Math.Log2(x) log2(@x) EF Core 8.0
Math.Log10(d) log10(@d) EF Core 8.0
Math.Max(val1, val2) max(@val1, @val2)
Math.Min(val1, val2) min(@val1, @val2)
Math.Pow(x, y) pow(@x, @y) EF Core 8.0
Math.Round(d) round(@d)
Math.Round(d, digits) round(@d, @digits)
Math.Sign(d) sign(@d) EF Core 8.0
Math.Sin(a) sin(@a) EF Core 8.0
Math.Sinh(value) sinh(@value) EF Core 8.0
Math.Sqrt(d) sqrt(@d) EF Core 8.0
Math.Tan(a) tan(@a) EF Core 8.0
Math.Tanh(value) tanh(@value) EF Core 8.0
Math.Truncate(d) trunc(@d) EF Core 8.0

Sugerencia

Además de los métodos enumerados aquí, también se traducen las implementaciones genéricas matemáticas y los métodos correspondientes y MathF. Por ejemplo, Math.Sin, MathF.Sin, double.Sin y float.Sin todos se asignan a la función sin en SQL.

Sugerencia

Funciones SQL con el prefijo ef_ son creadas por EF Core.

Funciones de cadena

.NET SQL
char.ToLower(c) lower(@c)
char.ToUpper(c) upper(@c)
EF.Functions.Collate(operand, collation) @operand COLLATE @collation
EF.Functions.Glob(matchExpression, pattern) @matchExpression GLOB @pattern
EF.Functions.Like(matchExpression, pattern) @matchExpression LIKE @pattern
EF.Functions.Like(matchExpression, pattern, escapeCharacter) @matchExpression LIKE @pattern ESCAPE @escapeCharacter
Regex.IsMatch(input, pattern) @input REGEXP @pattern
string.Compare(strA, strB) CASE WHEN @strA = @strB THEN 0 ... FIN
string.Concat(str0, str1) @str0 || @str1
string.IsNullOrEmpty(value) @value IS NULL OR @value = ''
string.IsNullOrWhiteSpace(value) @value IS NULL OR trim(@value) = ''
stringValue.CompareTo(strB) CASE WHEN @stringValue = @strB THEN 0 ... FIN
stringValue.Contains(value) instr(@stringValue, @value)> 0
stringValue.EndsWith(value) @stringValue LIKE '%' || @value
stringValue.FirstOrDefault() substr(@stringValue, 1, 1)
stringValue.IndexOf(value) instr(@stringValue, @value) - 1
stringValue.LastOrDefault() substr(@stringValue, length(@stringValue), 1)
stringValue.Length length(@stringValue)
stringValue.Replace(oldValue, newValue) replace(@stringValue, @oldValue, @newValue)
stringValue.StartsWith(value) @stringValue LIKE @value || '%'
stringValue.Substring(startIndex) substr(@stringValue, @startIndex + 1)
stringValue.Substring(startIndex, length) substr(@stringValue, @startIndex + 1, @length)
stringValue.ToLower() lower(@stringValue)
stringValue.ToUpper() upper(@stringValue)
stringValue.Trim() trim(@stringValue)
stringValue.Trim(trimChar) trim(@stringValue, @trimChar)
stringValue.TrimEnd() rtrim(@stringValue)
stringValue.TrimEnd(trimChar) rtrim(@stringValue, @trimChar)
stringValue.TrimStart() ltrim(@stringValue)
stringValue.TrimStart(trimChar) ltrim(@stringValue, @trimChar)

Nota:

Se ha simplificado parte del SQL con fines ilustrativos. El SQL actual es más complejo para manipular una gama más amplia de valores.

Funciones varias

.NET SQL
collection.Contains(item) @item EN @collection
enumValue.HasFlag(flag) @enumValue & @flag = @flag
nullable.GetValueOrDefault() coalesce(@nullable, 0)
nullable.GetValueOrDefault(defaultValue) coalesce(@nullable, @defaultValue)

Consulte también