Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfada, SQLite sağlayıcısı kullanılırken hangi .NET üyelerinin hangi SQL işlevlerine çevrildiği gösterilir.
Toplama işlevleri
| .NET | SQL | eklendi |
|---|---|---|
| grup. Average(x => x.Property) | AVG(Özellik) | |
| grup. Average(x => x.DecimalProperty) | ef_avg(DecimalProperty) | EF Core 9.0 |
| grup. Count() | COUNT(*) | |
| grup. LongCount() | COUNT(*) | |
| grup. Max(x => x.Property) | MAX(Özellik) | |
| grup. Min(x => x.Property) | MIN(Özellik) | |
| grup. Sum(x => x.Property) | SUM(Özellik) | |
| grup. Sum(x => x.DecimalProperty) | ef_sum(DecimalProperty) | EF Core 9.0 |
| dizgi. Concat(group. Select(x => x.Property)) | group_concat(Özellik, '') | |
| dizgi. Join(ayırıcı, grup. Select(x => x.Property)) | group_concat(Özellik, @separator) |
İkili işlevler
| .NET | SQL | eklendi |
|---|---|---|
| Bayt. contains(value) | instr(@bytes, char(@value)) > 0 | |
| Bayt. Uzunluk | uzunluk(@bytes) | |
| Bayt. SequenceEqual(saniye) | @bytes = @second | |
| EF. Functions.Hex(bayt) | onaltılık(@bytes) | |
| EF. Functions.Substr(bayt, startIndex) | alt dize(@bytes, @startIndex) | |
| EF. Functions.Substr(bytes, startIndex, length) | substr(@bytes, @startIndex, @length) | |
| EF. Functions.Unhex(value) | unhex(@value) | |
| EF. Functions.Unhex(value, ignoreChars) | unhex(@value, @ignoreChars) |
Dönüştürme işlevleri
| .NET | SQL |
|---|---|
| boolValue.ToString() | CAST(@boolValue AS TEXT) |
| byteValue.ToString() | CAST(@byteValue AS TEXT) |
| Bayt. 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) |
| Guıd. ToString() | CAST(@guid AS METİN) |
| 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 METİN) |
| uintValue.ToString() | CAST(@uintValue AS TEXT) |
| ushortValue.ToString() | CAST(@ushortValue AS TEXT) |
Tarih ve saat işlevleri
| .NET | SQL | eklendi |
|---|---|---|
| dateOnly.AddDays(değer) | date(@dateOnly, @value || 'days') | |
| dateOnly.AddMonths(ay) | date(@dateOnly, @months || 'aylar') | |
| dateOnly.AddYears(değer) | date(@dateOnly, @value || 'yıl') | |
| dateOnly.Day | strftime('%d', @dateOnly) | |
| dateOnly.DayOfWeek | strftime('%w', @dateOnly) | |
| dateOnly.DayOfYear | strftime('%j', @dateOnly) | |
| DateOnly.FromDateTime(dateTime) | date(@dateTime) | |
| dateOnly.Month | strftime('%m', @dateOnly) | |
| dateOnly.Year | strftime('%Y', @dateOnly) | |
| sadeceTarih.GünNumarası | CAST(julianday(@dateOnly) - julianday('0001-01-01') AS INTEGER) | EF Core 10.0 |
| DateTime.Now | datetime('şimdi', 'yerelzaman') | |
| DateTime.Today | datetime('now', 'localtime', 'günün başlangıcı') | |
| DateTime.UtcNow | datetime('now') | |
| dateTime.AddDays(değer) | datetime(@dateTime, @value || 'days') | |
| dateTime.AddHours(değer) | datetime(@dateTime, @d || 'saat') | |
| dateTime.AddMilliseconds(değer) | datetime(@dateTime, (@value / 1000.0) || 'saniye') | |
| dateTime.AddMinutes(değer) | datetime(@dateTime, @value || 'dakika') | |
| dateTime.AddMonths(aylar) | datetime(@dateTime, @months || 'aylar') | |
| dateTime.AddSeconds(değer) | datetime(@dateTime, @value || 'saniye') | |
| dateTime.AddTicks(değer) | datetime(@dateTime, (@value / 10000000.0) || 'saniye') | |
| dateTime.AddYears(değer) | datetime(@dateTime, @value || 'yıl') | |
| dateTime.Date | datetime(@dateTime, 'günün başlangıcı') | |
| dateTime.Day | strftime('%d', @dateTime) | |
| dateTime.DayOfWeek | strftime('%w', @dateTime) | |
| dateTime.DayOfYear | strftime('%j', @dateTime) | |
| dateTime.Hour | strftime('%H', @dateTime) | |
| dateTime.Milisecond | (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) |
Not
Bazı SQL'ler çizim amacıyla basitleştirilmiştir. Gerçek SQL, daha geniş bir değer aralığını işlemek için daha karmaşıktır.
Sayısal işlevler
| .NET | SQL | eklendi |
|---|---|---|
| -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 | |
| çift. DegreesToRadians(derece) | radyan(@degrees) | |
| çift. RadyanToDegrees(radyan) | derece(@dradians) | |
| doubleValue % d | mod(@doubleValue, @d) | |
| EF. Functions.Random() | abs(random() / 9223372036854780000.0) | |
| Math.Abs(değer) | abs(@value) | |
| Math.Acos(değer) | 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) | tavan (@d) | |
| Math.Cos(d) | cos(@d) | |
| Math.Cosh(değer) | 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, basamaklar) | round(@d, @digits) | |
| Math.Sign(d) | sign(@d) | EF Core 8.0 |
| Math.Sin(a) | sin(@a) | EF Core 8.0 |
| Math.Sinh(değer) | 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(değer) | tanh(@value) | EF Core 8.0 |
| Math.Truncate(d) | trunc(@d) | EF Core 8.0 |
İpucu
Burada listelenen yöntemlere ek olarak, ilgili genel matematik uygulamaları ve MathF yöntemleri de çevrilir. Örneğin, Math.Sin, MathF.Sin, double.Sinve float.Sin tümü SQL'deki işlevle sin eşler.
İpucu
ef_ ön ekli SQL işlevleri EF Core tarafından oluşturulur.
Dize işlevleri
| .NET | SQL |
|---|---|
| Char. ToLower(c) | lower(@c) |
| Char. ToUpper(c) | upper(@c) |
| EF. Functions.Collate(işlenen, harmanlama) | @operand HARMANLAMAK @collation |
| EF. Functions.Glob(matchExpression, desen) | @matchExpression GLOB @pattern |
| EF. Functions.Like(matchExpression, desen) | @matchExpression GİBİ @pattern |
| EF. Functions.Like(matchExpression, pattern, escapeCharacter) | @matchExpression LIKE @pattern ESCAPE @escapeCharacter |
| Regex.IsMatch(giriş, desen) | @input REGEXP @pattern |
| dizgi. Compare(strA, strB) | O ZAMAN @strA = @strB BÜYÜK/KÜÇÜK HARF 0 ... SON |
| dizgi. Concat(str0, str1) | @str0 || @str1 |
| dizgi. IsNullOrEmpty(değer) | @value IS NULL VEYA @value = '' |
| dizgi. IsNullOrWhiteSpace(değer) | @value IS NULL OR trim(@value) = '' |
| stringValue.CompareTo(strB) | O ZAMAN @stringValue = @strB BÜYÜK/KÜÇÜK HARF 0 ... SON |
| stringValue.Contains(değer) | instr(@stringValue, @value)> 0 |
| stringValue.EndsWith(değer) | @stringValue LIKE '%' || @value |
| stringValue.FirstOrDefault() | alt dize(@stringValue, 1, 1) |
| stringValue.IndexOf(değer) | instr(@stringValue, @value) - 1 |
| stringValue.LastOrDefault() | alt dize(@stringValue, uzunluk(@stringValue), 1) |
| stringValue.Length | uzunluk(@stringValue) |
| stringValue.Replace(eskiDeğer, yeniDeğer) | replace(@stringValue, @oldValue, @newValue) |
| stringValue.StartsWith(değer) | @stringValue LIKE @value || '%' |
| stringValue.Substring(startIndex) | alt dize(@stringValue, @startIndex + 1) |
| stringValue.Substring(startIndex, length) | alt dize(@stringValue, @startIndex + 1, @length) |
| stringValue.ToLower() | lower(@stringValue) |
| stringValue.ToUpper() | upper(@stringValue) |
| stringValue.Trim() | kırpma(@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) |
Not
Bazı SQL'ler çizim amacıyla basitleştirilmiştir. Gerçek SQL, daha geniş bir değer aralığını işlemek için daha karmaşıktır.
Çeşitli işlevler
| .NET | SQL |
|---|---|
| koleksiyon. contains(item) | @item İÇİNDE @collection |
| enumValue.HasFlag(bayrak) | @enumValue & @flag = @flag |
| Nullable. GetValueOrDefault() | coalesce(@nullable, 0) |
| Nullable. GetValueOrDefault(defaultValue) | coalesce(@nullable, @defaultValue) |