Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Platforma Entity Framework udostępnia zestaw funkcji kanonicznych, które implementują funkcje wspólne w wielu systemach baz danych, takich jak manipulowanie ciągami i funkcje matematyczne. Dzięki temu deweloperzy mogą kierować szeroką gamę systemów baz danych. Po wywołaniu z technologii zapytań, takiej jak LINQ to Entities, te funkcje kanoniczne są tłumaczone na poprawną odpowiednią funkcję magazynu dla używanego dostawcy. Dzięki temu wywołania funkcji mogą być wyrażane w wspólnej formie w różnych źródłach danych, zapewniając spójne środowisko zapytań w różnych źródłach danych. Operatory bitowe AND, OR, NOT i XOR są również mapowane na funkcje kanoniczne, gdy operand jest typem liczbowym. W przypadku operandów logicznych operatory bitowe AND, OR, NOT i XOR obliczają operacje logiczne AND, OR, NOT i XOR ich operandów. Aby uzyskać więcej informacji, zobacz Canonical Functions.
W przypadku scenariuszy LINQ zapytania względem platformy Entity Framework obejmują mapowanie niektórych metod CLR na metody w bazowym źródle danych za pomocą funkcji kanonicznych. Wszystkie wywołania metod w zapytaniu LINQ to Entities, które nie są jawnie mapowane na funkcję kanoniczną, spowodują zgłoszenie wyjątku środowiska uruchomieniowego NotSupportedException .
Mapowanie metody System.String (Static)
System.String, metoda (statyczna) | Canonical, funkcja |
---|---|
System.String Concat(Ciąg str0 , Ciąg str1 ) |
Concat(str0 , str1 ) |
System.String Concat(Ciąg str0 , Ciąg str1 , Ciąg str2 ) |
Concat(Concat(str0 , str1 ), str2 ) |
System.String Concat(Ciąg str0 , Ciąg str1 , Ciąg str2 , Ciąg str03 ) |
Concat(Concat(Concat(str0 , str1 ), str2 ) str3 |
Wartość logiczna Equals(Ciąg a , Ciąg b ) |
= — Operator |
Wartość logiczna IsNullOrEmpty(String value ) |
(IsNull()) OR Length(value value ) = 0 |
Wartość logiczna op_Equality(Ciąg a , Ciąg b ) |
= — Operator |
Wartość logiczna op_Inequality(Ciąg a , Ciąg 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 ) |
Długość(expression ) |
Microsoft.VisualBasic.Strings.Left(Ciąg str , Int32 Length ) |
Left(str , Length ) |
Microsoft.VisualBasic.Strings.Mid(String str , Int32 Start , Int32 Length ) |
Podciąg(str , Start , Length ) |
Microsoft.VisualBasic.Strings.Right(Ciąg str , Int32 Length ) |
Right(str , Length ) |
Microsoft.VisualBasic.Strings.UCase(String Value ) |
ToUpper(Value ) |
Microsoft.VisualBasic.Strings.LCase(Wartość ciągu) | ToLower(Value ) |
Mapowanie metody System.String (Instance)
System.String, metoda (wystąpienie) | Canonical, funkcja | Uwagi |
---|---|---|
Wartość logiczna Contains(String value ) |
this LIKE '%%value ' |
Jeśli value nie jest stałą, jest to mapowanie na IndexOf(this , value ) > 0 |
Wartość logiczna EndsWith(Ciąg value ) |
this LIKE ' %value " |
Jeśli value nie jest stałą, to jest mapowania na Right(this , length(value )) = value . |
Wartość logiczna StartsWith(Ciąg value ) |
this LIKE 'value %' |
Jeśli value nie jest stałą, jest to mapowanie na IndexOf(this , value ) = 1. |
Długość | Długość(this ) |
|
Int32 IndexOf(Ciąg 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 ) |
Podciąg(this , 1, startIndex ) |
|
System.String Remove(Int32 startIndex , Int32 count ) |
Concat(Podciąg(this , 1, startIndex ), Podciąg(this , + startIndex count +1, Długość(this ) - (startIndex + count ))) |
Funkcja Remove(startIndex , ) jest obsługiwana tylko wtedy, count gdy count jest liczbą całkowitą większą lub równą 0. |
System.String Replace(Ciąg oldValue , Ciąg newValue ) |
Replace(this , oldValue , newValue ) |
|
Podciąg System.String(Int32 startIndex ) |
Podciąg(this , +1, Długość(this ) — startIndex startIndex ) |
|
Podciąg System.String(Int32 startIndex , Int32 length ) |
Podciąg(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 ) |
|
Wartość logiczna Equals(Ciąg value ) |
= — Operator |
Mapowanie metody System.DateTime (Static)
System.DateTime, metoda (statyczna) | Canonical, funkcja | Uwagi |
---|---|---|
Wartość logiczna Równas(DateTime t1 , DateTime t2 ) |
= — Operator | |
System.DateTime.Now | CurrentDateTime() | |
System.DateTime.UtcNow | CurrentUtcDateTime() | |
Wartość logiczna op_Equality(DateTime d1 , DateTime d2 ) |
= — Operator | |
Wartość logiczna op_GreaterThan(DateTime t1 , DateTime t2 ) |
> operator | |
Wartość logiczna op_GreaterThanOrEqual(DateTime t1 , DateTime t2 ) |
>= operator | |
Wartość logiczna op_Inequality(DateTime t1 , DateTime t2 ) |
!= - Operator | |
Wartość logiczna op_LessThan(DateTime t1 , DateTime t2 ) |
< operator | |
Wartość logiczna op_LessThanOrEqual(DateTime t1 , DateTime t2 ) |
<= operator | |
Microsoft.VisualBasic.DateAndTime.DatePart( _ ByVal Interval As DateInterval, _ByVal DateValue as DateTime, _Opcjonalne ByVal FirstDayOfWeekValue jako FirstDayOfWeek = VbSunday, _Opcjonalne ByVal FirstWeekOfYearValue jako FirstWeekOfYear = VbFirstJan1 _) Jako liczba całkowita |
Aby uzyskać więcej informacji, zobacz sekcję Funkcja DatePart. | |
Microsoft.VisualBasic.DateAndTime.Now | CurrentDateTime() | |
Microsoft.VisualBasic.DateAndTime.Year(DateTime TimeValue )) |
Rok() | |
Microsoft.VisualBasic.DateAndTime.Month(DateTime)TimeValue |
Month() | |
Microsoft.VisualBasic.DateAndTime.Day(DateTime TimeValue ) |
Dzień() | |
Microsoft.VisualBasic.DateAndTime.Hour(DateTime TimeValue )) |
Hour() | |
Microsoft.VisualBasic.DateAndTime.Minute(DateTime(DateTime TimeValue ) |
Minuta() | |
Microsoft.VisualBasic.DateAndTime.Second(DateTime TimeValue ) |
Second() |
Mapowanie metody System.DateTime (Instance)
System.DateTime, metoda (wystąpienie) | Canonical, funkcja |
---|---|
Wartość logiczna Equals(DateTime value ) |
= — Operator |
Dzień | Dzień(this ) |
Godzina | Hour(this ) |
Milisekunda | Milisekundy(this ) |
Minuta | Minuta(this ) |
Month | Month(this ) |
Second | Second(this ) |
Year (Rok) | Rok(this ) |
Mapowanie metody System.DateTimeOffset (instance)
Mapowanie pokazane dla get
metod we wymienionych właściwościach.
System.DateTimeOffset, metoda (wystąpienie) | Canonical, funkcja | Uwagi |
---|---|---|
Dzień | Dzień(this ) |
Nieobsługiwane w programie SQL Server 2005. |
Godzina | Hour(this ) |
Nieobsługiwane w programie SQL Server 2005. |
Milisekunda | Milisekundy(this ) |
Nieobsługiwane w programie SQL Server 2005. |
Minuta | Minuta(this ) |
Nieobsługiwane w programie SQL Server 2005. |
Month | Month(this ) |
Nieobsługiwane w programie SQL Server 2005. |
Second | Second(this ) |
Nieobsługiwane w programie SQL Server 2005. |
Year (Rok) | Rok(this ) |
Nieobsługiwane w programie SQL Server 2005. |
Uwaga
Metoda Equals zwraca true
wartość , jeśli porównywane DateTimeOffset obiekty są równe; false
w przeciwnym razie. Metoda CompareTo zwraca wartość 0, 1 lub -1 w zależności od tego, czy porównywany DateTimeOffset obiekt jest równy, większy lub mniejszy, niż, odpowiednio.
Mapowanie metody System.DateTimeOffset (Static)
Mapowanie pokazane dla get
metod we wymienionych właściwościach.
System.DateTimeOffset, metoda (statyczna) | Canonical, funkcja | Uwagi |
---|---|---|
System.DateTimeOffset.Now() | CurrentDateTimeOffset() | Nieobsługiwane w programie SQL Server 2005. |
Mapowanie metody System.TimeSpan (Instance)
Mapowanie pokazane dla get
metod we wymienionych właściwościach.
System.TimeSpan, metoda (wystąpienie) | Canonical, funkcja | Uwagi |
---|---|---|
Godziny | Hour(this ) |
Nieobsługiwane w programie SQL Server 2005. |
Milisekundy | Milisekundy(this ) |
Nieobsługiwane w programie SQL Server 2005. |
Minuty | Minuta(this ) |
Nieobsługiwane w programie SQL Server 2005. |
Sekundy | Second(this ) |
Nieobsługiwane w programie SQL Server 2005. |
Uwaga
Metoda Equals zwraca true
wartość , jeśli porównywane TimeSpan obiekty są równe; false
w przeciwnym razie. Metoda CompareTo zwraca wartość 0, 1 lub -1 w zależności od tego, czy porównywany TimeSpan obiekt jest równy, większy lub mniejszy, niż, odpowiednio.
DatePart, funkcja
Funkcja DatePart
jest mapowana na jedną z kilku różnych funkcji kanonicznych w zależności od wartości Interval
. W poniższej tabeli przedstawiono kanoniczne mapowanie funkcji dla obsługiwanych wartości :Interval
Wartość interwału | Canonical, funkcja |
---|---|
DateInterval.Year | Rok() |
DateInterval.Month | Month() |
DateInterval.Day | Dzień() |
DateInterval.Hour | Hour() |
DateInterval.Minute | Minuta() |
DateInterval.Second | Second() |
Mapowanie funkcji matematycznych
CLR, metoda | Canonical, funkcja |
---|---|
System.Decimal.Ceiling(Decimal d ) |
Sufit(d ) |
System.Decimal.Floor(Decimal d ) |
Floor(d ) |
System.Decimal.Round(Decimal d ) |
Round(d ) |
System.Math.Ceiling(Decimal d ) |
Sufit(d ) |
System.Math.Floor(Decimal d ) |
Floor(d ) |
System.Math.Round(Decimal d ) |
Round(d ) |
System.Math.Ceiling(Double a ) |
Sufit(a ) |
System.Math.Floor(Double a ) |
Floor(a ) |
System.Math.Round(Double a ) |
Round(a ) |
System.Math.Round(Podwójna wartość, Cyfry Int16) | Round(wartość, cyfry) |
System.Math.Round(Podwójna wartość, Cyfry Int32) | Round(wartość, cyfry) |
System.Math.Round(wartość dziesiętna, cyfry Int16) | Round(wartość, cyfry) |
System.Math.Round(Wartość dziesiętna, Int32, cyfry) | Round(wartość, cyfry) |
System.Math.Abs(Wartość Int16) | Abs(wartość) |
System.Math.Abs(wartość Int32) | Abs(wartość) |
System.Math.Abs(wartość Int64) | Abs(wartość) |
System.Math.Abs(wartość bajtowa) | Abs(wartość) |
System.Math.Abs(Pojedyncza wartość) | Abs(wartość) |
System.Math.Abs(Podwójna wartość) | Abs(wartość) |
System.Math.Abs(wartość dziesiętna) | Abs(wartość) |
System.Math.Truncate(Podwójna wartość, Cyfry Int16) | Truncate(wartość, cyfry) |
System.Math.Truncate(Podwójna wartość, Cyfry Int32) | Truncate(wartość, cyfry) |
System.Math.Truncate(wartość dziesiętna, cyfry Int16) | Truncate(wartość, cyfry) |
System.Math.Truncate(Wartość dziesiętna, Cyfry Int32) | Truncate(wartość, cyfry) |
System.Math.Power(wartość Int32, wykładnik Int64) | Power(value, exponent) |
System.Math.Power(wartość Int32, wykładnik podwójny) | Power(value, exponent) |
System.Math.Power(wartość Int32, wykładnik dziesiętny) | Power(value, exponent) |
System.Math.Power(wartość Int64, wykładnik Int64) | Power(value, exponent) |
System.Math.Power(wartość Int64, wykładnik podwójny) | Power(value, exponent) |
System.Math.Power(wartość Int64, wykładnik dziesiętny) | Power(value, exponent) |
System.Math.Power(Podwójna wartość, wykładnik Int64) | Power(value, exponent) |
System.Math.Power(Podwójna wartość, Wykładnik podwójny) | Power(value, exponent) |
System.Math.Power(Podwójna wartość, wykładnik dziesiętny) | Power(value, exponent) |
System.Math.Power(wartość dziesiętna, wykładnik Int64) | Power(value, exponent) |
System.Math.Power(wartość dziesiętna, wykładnik podwójny) | Power(value, exponent) |
System.Math.Power(wartość dziesiętna, wykładnik dziesiętny) | Power(value, exponent) |
Mapowanie operatorów bitowych
Operator bitowy | Funkcja kanoniczna dla operandów nielogicznych | Funkcja kanoniczna dla operandów logicznych |
---|---|---|
Operator bitowy AND | Bitowe i | op1 AND op2 |
Operator bitowy OR | BitWiseOr | op1 OR op2 |
Operator NOT bitowy | BitWiseNot | NOT(op) |
Operator bitowego XOR | BitWiseXor | ((op1 AND NOT(op2)) OR (NOT(op1) AND op2)) |
Inne mapowanie
Method | Canonical, funkcja |
---|---|
Guid.NewGuid() | NewGuid() |