Bagikan melalui


Pemetaan Fungsi Penyedia Inti SQLite EF

Halaman ini menunjukkan anggota .NET mana yang diterjemahkan ke dalam fungsi SQL mana saat menggunakan penyedia SQLite.

Fungsi agregat

.NET SQL Ditambahkan dalam
kelompok. Average(x => x.Property) AVG(Property)
kelompok. Average(x => x.DecimalProperty) ef_avg(DecimalProperty) EF Core 9.0
kelompok. Count() COUNT(*)
kelompok. LongCount() COUNT(*)
kelompok. Maks(x => x.Property) MAX(Property)
kelompok. Min(x => x.Property) MIN(Property)
kelompok. Sum(x => x.Property) SUM(Properti)
kelompok. Sum(x => x.DecimalProperty) ef_sum(DecimalProperty) EF Core 9.0
tali. Concat(grup. Pilih(x => x.Property)) group_concat(Properti, '') EF Core 7.0
tali. Gabung(pemisah, grup. Pilih(x => x.Property)) group_concat(Properti, @separator) EF Core 7.0

Fungsi biner

.NET SQL Ditambahkan dalam
Byte. Contains(value) instr(@bytes, char(@value)) > 0
Byte. Panjangnya length(@bytes)
Byte. SequenceEqual(second) @bytes = @second
EF. Functions.Hex(byte) hex(@bytes)
EF. Functions.Substr(byte, startIndex) substr(@bytes, @startIndex)
EF. Functions.Substr(byte, 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

Fungsi konversi

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

Fungsi tanggal dan waktu

.NET SQL Ditambahkan dalam
dateOnly.AddDays(value) date(@dateOnly, @value || ' hari')
dateOnly.AddMonths(bulan) date(@dateOnly, @months || ' bulan')
dateOnly.AddYears(value) date(@dateOnly, @value || ' tahun')
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 || ' hari')
dateTime.AddHours(value) datetime(@dateTime, @d || ' jam')
dateTime.AddMilliseconds(value) datetime(@dateTime, (@value / 1000.0) || ' detik')
dateTime.AddMinutes(value) datetime(@dateTime, @value || ' menit')
dateTime.AddMonths(bulan) datetime(@dateTime, @months || ' bulan')
dateTime.AddSeconds(value) datetime(@dateTime, @value || ' detik')
dateTime.AddTicks(value) datetime(@dateTime, (@value / 10000000.0) || ' detik')
dateTime.AddYears(value) datetime(@dateTime, @value || ' tahun')
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')) * 8640000000000
dateTime.TimeOfDay time(@dateTime)
dateTime.Year strftime('%Y', @dateTime)

Catatan

Beberapa SQL telah disederhanakan untuk tujuan ilustrasi. SQL aktual lebih kompleks untuk menangani berbagai nilai yang lebih luas.

Fungsi numerik

.NET SQL Ditambahkan dalam
-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
dobel. DegreesToRadians(derajat) radian (@degrees) EF Core 8.0
dobel. RadiansToDegrees(radian) derajat(@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) langit-langit (@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, digit) 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

Tip

Selain metode yang tercantum di sini, implementasi matematika generik yang bersesuaian dan metode MathF diterjemahkan juga. Misalnya, Math.Sin, , MathF.Sindouble.Sin, dan float.Sin semua peta ke sin fungsi di SQL.

Tip

Fungsi SQL yang diawali dengan ef_ dibuat oleh EF Core.

Fungsi string

.NET SQL
Char. ToLower(c) lower(@c)
Char. ToUpper(c) upper(@c)
EF. Functions.Collate(operand, collation) @operand SUSUN @collation
EF. Functions.Glob(matchExpression, pattern) @matchExpression GLOB @pattern
EF. Functions.Like(matchExpression, pattern) @matchExpression SUKA @pattern
EF. Functions.Like(matchExpression, pattern, escapeCharacter) @matchExpression SEPERTI @pattern ESCAPE @escapeCharacter
Regex.IsMatch(input, pattern) @input REGEXP @pattern
tali. Bandingkan(strA, strB) KASUS KETIKA @strA = @strB KEMUDIAN 0 ... UJUNG
tali. Concat(str0, str1) @str0 || @str1
tali. IsNullOrEmpty(value) @value IS NULL ATAU @value = ''
tali. IsNullOrWhiteSpace(value) @value IS NULL OR trim(@value) = ''
stringValue.CompareTo(strB) KASUS KETIKA @stringValue = @strB KEMUDIAN 0 ... UJUNG
stringValue.Contains(value) instr(@stringValue, @value)> 0
stringValue.EndsWith(value) @stringValue SEPERTI '%' || @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 SEPERTI @value || '%'
stringValue.Substring(startIndex) substr(@stringValue, @startIndex + 1)
stringValue.Substring(startIndex, length) substr(@stringValue, @startIndex + 1, @length)
stringValue.ToLower() lower(@stringValue)
stringValue.ToUpper() atas(@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)

Catatan

Beberapa SQL telah disederhanakan untuk tujuan ilustrasi. SQL aktual lebih kompleks untuk menangani berbagai nilai yang lebih luas.

Fungsi lain

.NET SQL
koleksi. Berisi(item) @item DI @collection
enumValue.HasFlag(flag) @enumValue & @flag = @flag
dapat diubah ke null. GetValueOrDefault() coalesce(@nullable, 0)
dapat diubah ke null. GetValueOrDefault(defaultValue) coalesce(@nullable, @defaultValue)

Lihat juga