Mappatura delle funzioni del provider SQLite EF Core

Questa pagina mostra i membri .NET convertiti in quali funzioni SQL quando si usa il provider SQLite.

Funzioni di aggregazione

Per informazioni generali sull'uso di funzioni di aggregazione nelle query, vedere Funzioni di aggregazione.

.NET SQL Aggiunta in
gruppo. Average(x => x.Property) AVG(Proprietà)
gruppo.Average(x => x.DecimalProperty) ef_avg(DecimalProperty) EF Core 9.0
gruppo. Count() COUNT(*)
gruppo.LongCount() COUNT(*)
gruppo.Max(x => x.Property) MAX(Proprietà)
gruppo.Min(x => x.Property) MIN(Property)
gruppo.Somma(x => x.Proprietà) SUM(Proprietà)
gruppo.Somma(x => x.DecimalProperty) ef_sum(DecimalProperty) EF Core 9.0
string.Concat(group.Select(x => x.Property)) group_concat(Property, '')
string.Concat(group.OrderBy(x => x.Other).Select(x => x.Property)) group_concat(Property, '' ORDER BY Other) EF Core 11.0
string.Join(separatore, gruppo.Select(x => x.Property)) group_concat(Property, @separator)
string.Join(separator, group.OrderBy(x => x.Other).Select(x => x.Property)) group_concat(Property, @separator ORDER BY Other) EF Core 11.0

Funzioni binarie

.NET SQL Aggiunta in
Byte. Contains(value) instr(@bytes, char(@value)) > 0
Byte. Lunghezza 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.Functions.Unhex(valore, ignoraCaratteri) unhex(@value, @ignoreChars)

Funzioni di conversione

.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)

Funzioni di data e ora

.NET SQL Aggiunta in
dateOnly.AddDays(value) date(@dateOnly, @value || ' giorni')
dateOnly.AddMonths(months) date(@dateOnly, @months || ' months')
dateOnly.AddYears(value) date(@dateOnly, @value || ' anni')
dateOnly.Giorno strftime('%d', @dateOnly)
dataSolo.GiornoDellaSettimana strftime('%w', @dateOnly)
dataSolo.GiornoDellAnno strftime('%j', @dateOnly)
DateOnly.FromDateTime(dateTime) date(@dateTime)
dateOnly.Month strftime('%m', @dateOnly)
Anno di soloData strftime('%Y', @dateOnly)
dateOnly.DayNumber CAST(julianday(@dateOnly) - julianday('0001-01-01') AS INTEGER) EF Core 10.0
DateTime.Now datetime('now', 'localtime')
DateTime.Today datetime('now', 'localtime', 'inizio del giorno')
DateTime.UtcNow datetime('now')
dateTime.AddDays(value) datetime(@dateTime, @value || ' giorni')
dateTime.AddHours(value) datetime(@dateTime, @d || ' ore')
dateTime.AddMilliseconds(value) datetime(@dateTime, (@value / 1000.0) || ' secondi')
dateTime.AddMinutes(value) datetime(@dateTime, @value || ' minutes')
dateTime.AddMonths(months) datetime(@dateTime, @months || ' months')
dateTime.AddSeconds(value) datetime(@dateTime, @value || ' secondi')
dateTime.AddTicks(value) datetime(@dateTime, (@value / 10000000.0) || ' secondi')
dateTime.AddYears(value) datetime(@dateTime, @value || " anni")
dateTime.Date datetime(@dateTime, 'inizio del giorno')
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')) * 8640000000000
dateTime.OraDelGiorno time(@dateTime)
dateTime.Year strftime('%Y', @dateTime)

Nota

Alcuni SQL sono stati semplificati a scopo illustrativo. L'effettivo SQL è più complesso per gestire un intervallo più ampio di valori.

Funzioni numeriche

.NET SQL Aggiunta in
-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)
valoreDecimale < d ef_compare(@decimalValue, @d)< 0
decimalValue <= d ef_compare(@decimalValue, @d)<= 0
valoreDecimale > d ef_compare(@decimalValue, @d)> 0
decimalValue >= d ef_compare(@decimalValue, @d)>= 0
doppio. DegreesToRadians(gradi) radianti (@degrees)
doppio. RadiansToDegrees(radianti) gradi (@dradians)
doubleValue % d mod(@doubleValue, @d)
EF.Functions.Random() abs(random() / 9223372036854780000.0)
Math.Abs(valore) abs(@value)
Math.Acos(value) acos(@value)
Math.Acosh(d) acosh(@d)
Math.Asin(d) asin(@d)
Math.Asinh(d) asinh(@d)
Math.Atan(d) atan(@d)
Math.Atan2(y, x) atan2(@y, @x)
Math.Atanh(d) atanh(@d)
Math.Ceiling(d) ceiling(@d)
Math.Cos(d) cos(@d)
Math.Cosh(value) cosh(@value)
Math.Exp(d) exp(@d)
Math.Floor(d) floor(@d)
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

Suggerimento

Oltre ai metodi elencati qui, vengono tradotte anche le implementazioni generiche di matematica . Ad esempio, Math.Sin, MathF.Sin, double.Sin e float.Sin vengono mappati alla funzione sin in SQL.

Suggerimento

Le funzioni SQL con prefisso ef_ vengono create da EF Core.

Funzioni di stringa

.NET SQL
char.ToLower(c) lower(@c)
char.ToUpper(c) upper(@c)
EF.Functions.Collate(operando, regole di confronto) @operand COLLATE @collation
EF.Functions.Glob(matchExpression, pattern) @matchExpression GLOB @pattern
EF.Functions.Like(matchExpression, pattern) @matchExpression COME @pattern
EF.Functions.Like(matchExpression, pattern, escapeCharacter) @matchExpression LIKE @pattern ESCAPE @escapeCharacter
Regex.IsMatch(input, modello) @input REGEXP @pattern
stringa.Compare(strA, strB) CASO QUANDO @strA = @strB POI 0 ... FINE
string.Concat(str0, str1) @str0 || @str1
string.IsNullOrEmpty(value) @value È NULL O @value = ''
string.IsNullOrWhiteSpace(value) @value È NULL O trim(@value) = ''
stringValue.CompareTo(strB) CASO QUANDO @stringValue = @strB POI 0 ... FINE
stringValue.Contains(valore) 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

Alcuni SQL sono stati semplificati a scopo illustrativo. L'effettivo SQL è più complesso per gestire un intervallo più ampio di valori.

Funzioni varie

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

Vedi anche