Metode runtime bahasa umum ke Pemetaan Fungsi Kanonik

Entity Framework menyediakan seperangkat fungsi kanonis yang mengimplementasikan fungsionalitas yang umum di banyak sistem database, seperti manipulasi string dan fungsi matematika. Hal ini memungkinkan pengembang untuk menargetkan berbagai sistem database. Saat dipanggil dari teknologi kueri, seperti LINQ ke Entitas, fungsi kanonis ini diterjemahkan ke fungsi penyimpanan terkait yang benar untuk penyedia yang digunakan. Hal ini memungkinkan pemanggilan fungsi diekspresikan dalam bentuk umum di seluruh sumber data, memberikan pengalaman kueri yang konsisten di seluruh sumber data. Operator AND, OR, NOT, dan XOR bitwise juga dipetakan ke fungsi kanonis ketika operand adalah jenis numerik. Untuk operand Boolean, operator AND, OR, NOT, dan XOR bitwise menghitung operasi AND, OR, NOT, dan XOR logis dari operand mereka. Untuk informasi selengkapnya, lihat Fungsi Kanonis.

Untuk skenario LINQ, kueri terhadap Entity Framework melibatkan pemetaan metode CLR tertentu ke metode pada sumber data yang mendasarinya melalui fungsi kanonis. Panggilan metode apa pun dalam kueri LINQ ke Entitas yang tidak secara eksplisit dipetakan ke fungsi kanonis akan menyebabkan pengecualian NotSupportedException runtime bahasa umum ditampilkan.

Pemetaan Metode System.String (Statik)

Metode System.String (statik) Fungsi kanonis
System.String Concat(String str0, String str1) Concat(str0, str1)
System.String Concat(String str0, String str1, String str2) Concat(Concat(str0, str1), str2)
System.String Concat(String str0, String str1, String str2, String str03) Concat(Concat(Concat(str0, str1), str2), str3)
Boolean Equals(String a, String b) = operator
Boolean IsNullOrEmpty(String value) (IsNull(value)) OR Length(value) = 0
Boolean op_Equality(String a, String b) = operator
Boolean op_Inequality(String a , String b) != operator
Microsoft.VisualBasic.Strings.Trim(String str) Trim(str)
Microsoft.VisualBasic.Strings.LTrim(String str) Ltrim(str)
Microsoft.VisualBasic.Strings.RTrim(String str) Rtrim(str)
Microsoft.VisualBasic.Strings.Len(String expression) Length(expression)
Microsoft.VisualBasic.Strings.Left(String str, Int32 Length) Left(str, Length)
Microsoft.VisualBasic.Strings.Mid(String str, Int32 Start, Int32 Length) Substring(str, Start, Length)
Microsoft.VisualBasic.Strings.Right(String str, Int32 Length) Right(str, Length)
Microsoft.VisualBasic.Strings.UCase(String Value) ToUpper(Value)
Microsoft.VisualBasic.Strings.LCase(String Value) ToLower(Value)

Pemetaan Metode System.String (Instans)

Metode System.String (instans) Fungsi kanonis Catatan
Boolean Contains(String value) this LIKE '%value%' Jika value bukan konstanta, maka ini dipetakan ke IndexOf(this, value) > 0
Boolean EndsWith(String value) this LIKE '%value' Jika value bukan konstanta, maka ini dipetakan ke Right(this, length(value)) = value.
Boolean StartsWith(String value) this LIKE 'value%' Jika value bukan konstanta, maka ini dipetakan ke IndexOf(this, value) = 1.
Panjang Length(this)
Int32 IndexOf(String value) IndexOf(this, value) - 1
System.String Insert(Int32 startIndex, String value) Concat(Concat(Substring(this, 1, startIndex), value), Substring(this, startIndex+1, Length(this) - startIndex))
System.String Remove(Int32 startIndex) Substring(this, 1, startIndex)
System.String Remove(Int32 startIndex, Int32 count) Concat(Substring(this, 1, startIndex) , Substring(this, startIndex + count +1, Length(this) - (startIndex + count))) Remove(startIndex, count) hanya didukung jika count adalah bilangan bulat yang lebih besar dari atau sama dengan 0.
System.String Replace(String oldValue, String newValue) Ganti(this, oldValue, newValue)
System.String Substring(Int32 startIndex) Substring(this, startIndex +1, Length(this) - startIndex)
System.String Substring(Int32 startIndex, Int32 length) Substring(this, startIndex +1, length)
System.String ToLower() ToLower(this)
System.String ToUpper() ToUpper(this)
System.String Trim() Trim(this)
System.String TrimEnd(Char[] trimChars) RTrim(this)
System.String TrimStart(Char[]trimChars) LTrim(this)
Boolean Equals(String value) = operator

Pemetaan Metode System.DateTime (Statik)

Metode System.DateTime (statik) Fungsi kanonis Catatan
Boolean Equals(DateTime t1, DateTime t2) = operator
System.DateTime.Now CurrentDateTime()
System.DateTime.UtcNow CurrentUtcDateTime()
Boolean op_Equality(DateTime d1, DateTime d2) = operator
Boolean op_GreaterThan(DateTime t1, DateTime t2) > operator
Boolean op_GreaterThanOrEqual(DateTime t1, DateTime t2) >= operator
Boolean op_Inequality(DateTime t1, DateTime t2) != operator
Boolean op_LessThan(DateTime t1, DateTime t2) < operator
Boolean op_LessThanOrEqual(DateTime t1, DateTime t2) <= operator
Microsoft.VisualBasic.DateAndTime.DatePart( _

ByVal Interval As DateInterval, _

ByVal DateValue As DateTime, _

Optional ByVal FirstDayOfWeekValue As FirstDayOfWeek = VbSunday, _

Optional ByVal FirstWeekOfYearValue As FirstWeekOfYear = VbFirstJan1 _

) As Integer
Lihat bagian Fungsi DatePart untuk informasi lebih lanjut.
Microsoft.VisualBasic.DateAndTime.Now CurrentDateTime()
Microsoft.VisualBasic.DateAndTime.Year(DateTime TimeValue) Year()
Microsoft.VisualBasic.DateAndTime.Month(DateTime TimeValue) Month()
Microsoft.VisualBasic.DateAndTime.Day(DateTime TimeValue) Day()
Microsoft.VisualBasic.DateAndTime.Hour(DateTime TimeValue) Hour()
Microsoft.VisualBasic.DateAndTime.Minute(DateTime TimeValue) Minute()
Microsoft.VisualBasic.DateAndTime.Second(DateTime TimeValue) Second()

Pemetaan Metode System.DateTime (Instans)

Metode System.DateTime (instans) Fungsi kanonis
Boolean Equals(DateTime value) = operator
Hari Day(this)
Jam Hour(this)
Milidetik Millisecond(this)
Menit Minute(this)
Month Month(this)
Detik Second(this)
Tahun Year(this)

Pemetaan Metode System.DateTimeOffset (Instans)

Pemetaan ditampilkan untuk metode get pada properti yang terdaftar.

Metode System.DateTimeOffset (instans) Fungsi kanonis Catatan
Hari Day(this) Tidak didukung terhadap SQL Server 2005.
Jam Hour(this) Tidak didukung terhadap SQL Server 2005.
Milidetik Millisecond(this) Tidak didukung terhadap SQL Server 2005.
Menit Minute(this) Tidak didukung terhadap SQL Server 2005.
Month Month(this) Tidak didukung terhadap SQL Server 2005.
Detik Second(this) Tidak didukung terhadap SQL Server 2005.
Tahun Year(this) Tidak didukung terhadap SQL Server 2005.

Catatan

Metode Equals mengembalikan true jika objek DateTimeOffset yang dibandingkan adalah sama; jika tidak, akan mengembalikan false. Metode CompareTo mengembalikan 0, 1, atau -1 bergantung pada apakah objek DateTimeOffset yang dibandingkan sama, lebih besar, atau lebih kecil dari.

Pemetaan Metode System.DateTimeOffset (Statik)

Pemetaan ditampilkan untuk metode get pada properti yang terdaftar.

Metode System.DateTimeOffset (statik) Fungsi kanonis Catatan
System.DateTimeOffset.Now() CurrentDateTimeOffset() Tidak didukung terhadap SQL Server 2005.

Pemetaan Metode System.TimeSpan (Instans)

Pemetaan ditampilkan untuk metode get pada properti yang terdaftar.

Metode System.TimeSpan (instans) Fungsi kanonis Catatan
Jam Hour(this) Tidak didukung terhadap SQL Server 2005.
Milidetik Millisecond(this) Tidak didukung terhadap SQL Server 2005.
Menit Minute(this) Tidak didukung terhadap SQL Server 2005.
Detik Second(this) Tidak didukung terhadap SQL Server 2005.

Catatan

Metode Equals mengembalikan true jika objek TimeSpan yang dibandingkan adalah sama; jika tidak, akan mengembalikan false. Metode CompareTo mengembalikan 0, 1, atau -1 bergantung pada apakah objek TimeSpan yang dibandingkan sama, lebih besar, atau lebih kecil dari.

Fungsi DatePart

Fungsi DatePart dipetakan ke salah satu dari beberapa fungsi kanonis yang berbeda, bergantung pada nilai Interval. Tabel berikut menampilkan pemetaan fungsi kanonis untuk nilai Interval yang didukung:

Nilai interval Fungsi kanonis
DateInterval.Year Year()
DateInterval.Month Month()
DateInterval.Day Day()
DateInterval.Hour Hour()
DateInterval.Minute Minute()
DateInterval.Second Second()

Pemetaan Fungsi Matematika

Metode CLR Fungsi kanonis
System.Decimal.Ceiling(d Desimal) Ceiling(d)
System.Decimal.Floor(d Desimal) Floor(d)
System.Decimal.Round(d Desimal) Round(d)
System.Math.Ceiling(d Desimal) Ceiling(d)
System.Math.Floor(d Desimal) Floor(d)
System.Math.Round(d Desimal) Round(d)
System.Math.Ceiling(a Ganda) Ceiling(a)
System.Math.Floor(a Ganda) Floor(a)
System.Math.Round(a Ganda) Round(a)
System.Math.Round(Nilai ganda, Digit Int16) Round(value, digits)
System.Math.Round(Nilai ganda, Digit Int32) Round(value, digits)
System.Math.Round(Nilai desimal, Digit Int16) Round(value, digits)
System.Math.Round(Nilai desimal, Digit Int32) Round(value, digits)
System.Math.Abs(Nilai Int16) Abs(value)
System.Math.Abs(Nilai Int32) Abs(value)
System.Math.Abs(Nilai Int64) Abs(value)
System.Math.Abs(Nilai byte) Abs(value)
System.Math.Abs(Nilai tunggal) Abs(value)
System.Math.Abs(Nilai ganda) Abs(value)
System.Math.Abs(Nilai desimal) Abs(value)
System.Math.Truncate(Nilai ganda, Digit Int16) Truncate(nilai, digit)
System.Math.Truncate(Nilai ganda, Digit Int32) Truncate(nilai, digit)
System.Math.Truncate(Nilai desimal, Digit Int16) Truncate(nilai, digit)
System.Math.Truncate(Nilai desimal, Digit Int32) Truncate(nilai, digit)
System.Math.Power (Nilai Int32, Eksponen Int64) Power(nilai, eksponen)
System.Math.Power (Nilai Int32, Eksponen ganda) Power(nilai, eksponen)
System.Math.Power (Nilai Int32, Eksponen Desimal) Power(nilai, eksponen)
System.Math.Power (Nilai Int64, Eksponen Int64) Power(nilai, eksponen)
System.Math.Power (Nilai Int64, Eksponen ganda) Power(nilai, eksponen)
System.Math.Power (Nilai Int64, Eksponen Desimal) Power(nilai, eksponen)
System.Math.Power (Nilai ganda, eksponen Int64) Power(nilai, eksponen)
System.Math.Power(Nilai ganda, Eksponen ganda) Power(nilai, eksponen)
System.Math.Power (Nilai ganda, Eksponen desimal) Power(nilai, eksponen)
System.Math.Power (Nilai desimal, Eksponen Int64) Power(nilai, eksponen)
System.Math.Power(Nilai desimal, Eksponen ganda) Power(nilai, eksponen)
System.Math.Power(Nilai Desimal, Eksponen Desimal) Power(nilai, eksponen)

Pemetaan Operator Bitwise

Operator bitwise Fungsi kanonis untuk operand non-Boolean Fungsi kanonis untuk operand Boolean
Bitwise AND operator BitWiseAnd op1 AND op2
Bitwise OR operator BitWiseOr op1 OR op2
Bitwise NOT operator BitWiseNot NOT(op)
Bitwise XOR operator BitWiseXor ((op1 AND NOT(op2)) OR (NOT(op1) AND op2))

Pemetaan Lainnya

Metode Fungsi kanonis
Guid.NewGuid() NewGuid()

Lihat juga