Share via


CLR-methode voor canonieke functietoewijzing

Entity Framework biedt een set canonieke functies die functionaliteit implementeren die gebruikelijk is in veel databasesystemen, zoals tekenreeksmanipulatie en wiskundige functies. Hierdoor kunnen ontwikkelaars zich richten op een breed scala aan databasesystemen. Bij het aanroepen van een querytechnologie, zoals LINQ naar Entiteiten, worden deze canonieke functies vertaald naar de juiste bijbehorende winkelfunctie voor de provider die wordt gebruikt. Hierdoor kunnen functie-aanroepen worden uitgedrukt in een algemene vorm in verschillende gegevensbronnen, waardoor een consistente query-ervaring wordt geboden in verschillende gegevensbronnen. De operatoren BITWISE AND, OR, NOT en XOR worden ook toegewezen aan canonieke functies wanneer de operand een numeriek type is. Voor Booleaanse operanden berekenen de operatoren bitwise AND, OR, NOT en XOR de logische EN-, OR-, NOT- en XOR-bewerkingen van hun operanden. Zie Canonical Functions voor meer informatie.

Voor LINQ-scenario's moeten query's voor het Entity Framework bepaalde CLR-methoden toewijzen aan methoden op de onderliggende gegevensbron via canonieke functies. Elke methode die een LINQ aanroept naar entiteitenquery die niet expliciet is toegewezen aan een canonieke functie, leidt ertoe dat er een runtime-uitzondering NotSupportedException wordt gegenereerd.

System.String-methodetoewijzing (statisch)

System.String-methode (statisch) Canonieke functie
System.String Concat(String str0, String str1) Concat(str0, str1)
System.String Concat(Tekenreeks, Tekenreeksstr0str1, Tekenreeksstr2) Concat(Concat(str0, str1), str2)
System.String Concat(Tekenreeks, Tekenreeksstr0str1, Tekenreeksstr2, Tekenreeks str03) Concat(Concat(Concat(str0, str1), str2) str3
Booleaanse waarde is gelijk aan(tekenreeks a, tekenreeks b) = operator
Booleaanse isnullOrEmpty(tekenreeks value) (IsNull(value)) OR Length(value) = 0
Booleaanse op_Equality(tekenreeks a, tekenreeks b) = operator
Booleaanse op_Inequality(tekenreeks a , tekenreeks 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(Tekenreeks str, Int32 Length) Left(str, Length)
Microsoft.VisualBasic.Strings.Mid(Tekenreeks str, Int32 Start, Int32 Length) Subtekenreeks(str, Start, Length)
Microsoft.VisualBasic.Strings.Right(Tekenreeks str, Int32 Length) Right(str, Length)
Microsoft.VisualBasic.Strings.UCase(String Value) ToUpper(Value)
Microsoft.VisualBasic.Strings.LCase(Tekenreekswaarde) ToLower(Value)

System.String Method (Instance)-toewijzing

System.String-methode (exemplaar) Canonieke functie Opmerkingen
Booleaanse contains(tekenreeks value) thisLIKE %%value Als value dit geen constante is, wordt dit toegewezen aan IndexOf(this, value) > 0
Booleaanse endsWith(tekenreeks value) this LIKE '%value' Als value dit geen constante is, wordt deze toegewezen aan Right(, length(valuethis)) = value.
Booleaanse startsWith(tekenreeks value) this LIKE 'value%' Als value dit geen constante is, wordt dit toegewezen aan IndexOf(this, value) = 1.
Length Length(this)
Int32 IndexOf(string value) IndexOf(this, value) - 1
System.String Insert(Int32 startIndex, String value) Concat(Concat(Substring(this, 1, startIndex), valueSubstring(this, startIndex+1, Length(this) - startIndex))
System.String Remove(Int32 startIndex) Subtekenreeks(this, 1, startIndex)
System.String Remove(Int32 startIndex, Int32 count) Concat(Subtekenreeks(this, 1, startIndex) , Subtekenreeks(this, + startIndexcount +1, Length(this) - (startIndex + count)) ) Remove(startIndex, count) wordt alleen ondersteund als count een geheel getal groter dan of gelijk aan 0 is.
System.String Replace(String oldValue, String newValue) Replace(this, oldValue, newValue)
System.String-subtekenreeks(Int32 startIndex) Subtekenreeks(this, startIndex +1, Length(this) - startIndex)
System.String-subtekenreeks(Int32 startIndex, Int32 length) Subtekenreeks(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)
Booleaanse waarde is gelijk aan(tekenreeks value) = operator

System.DateTime-methode (statische) toewijzing

System.DateTime-methode (statisch) Canonieke functie Opmerkingen
Booleaanse waarde is gelijk aan(DateTime t1, DateTime t2) = operator
System.DateTime.Now CurrentDateTime()
System.DateTime.UtcNow CurrentUtcDateTime()
Booleaanse op_Equality(DateTime d1, DateTime d2) = operator
Booleaanse op_GreaterThan(DateTime t1, DateTime t2) > Operator
Booleaanse op_GreaterThanOrEqual(DateTime t1, DateTime t2) >= operator
Booleaanse op_Inequality(DateTime t1, DateTime t2) != operator
Booleaanse op_LessThan(Datum/tijd t1, Datum/tijd t2) < Operator
Booleaanse op_LessThanOrEqual(Datum/tijd t1, Datum/tijd 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 _

) Als geheel getal
Zie de sectie DatePart Function voor meer informatie.
Microsoft.VisualBasic.DateAndTime.Now CurrentDateTime()
Microsoft.VisualBasic.DateAndTime.Year(DateTime TimeValue) Year()
Microsoft.VisualBasic.DateAndTime.Month(Datum/tijd 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()

System.DateTime-methode (instantie)-toewijzing

System.DateTime-methode (exemplaar) Canonieke functie
Booleaanse waarde is gelijk aan(Datum/tijd value) = operator
Dag Day(this)
Uur Hour(this)
Milliseconde Milliseconden(this)
Minuut Minute(this)
Month Month(this)
Seconde Second(this)
Year Year(this)

System.DateTimeOffset-methode (instantie)-toewijzing

De toewijzing die wordt weergegeven voor de get methoden in de vermelde eigenschappen.

System.DateTimeOffset-methode (exemplaar) Canonieke functie Opmerkingen
Dag Day(this) Niet ondersteund voor SQL Server 2005.
Uur Hour(this) Niet ondersteund voor SQL Server 2005.
Milliseconde Milliseconden(this) Niet ondersteund voor SQL Server 2005.
Minuut Minute(this) Niet ondersteund voor SQL Server 2005.
Month Month(this) Niet ondersteund voor SQL Server 2005.
Seconde Second(this) Niet ondersteund voor SQL Server 2005.
Year Year(this) Niet ondersteund voor SQL Server 2005.

Notitie

De Equals methode retourneert true als de vergeleken DateTimeOffset objecten gelijk zijn; false anders. De CompareTo methode retourneert 0, 1 of -1, afhankelijk van of het vergeleken DateTimeOffset object gelijk is aan, groter dan of kleiner is dan respectievelijk.

System.DateTimeOffset-methode (statische) toewijzing

De toewijzing die wordt weergegeven voor de get methoden in de vermelde eigenschappen.

Methode System.DateTimeOffset (statisch) Canonieke functie Opmerkingen
System.DateTimeOffset.Now() CurrentDateTimeOffset() Niet ondersteund voor SQL Server 2005.

System.TimeSpan-methode (instantie)-toewijzing

De toewijzing die wordt weergegeven voor de get methoden in de vermelde eigenschappen.

System.TimeSpan-methode (exemplaar) Canonieke functie Opmerkingen
Tijden Hour(this) Niet ondersteund voor SQL Server 2005.
Milliseconden Milliseconden(this) Niet ondersteund voor SQL Server 2005.
Minuten Minute(this) Niet ondersteund voor SQL Server 2005.
Seconden Second(this) Niet ondersteund voor SQL Server 2005.

Notitie

De Equals methode retourneert true als de vergeleken TimeSpan objecten gelijk zijn; false anders. De CompareTo methode retourneert 0, 1 of -1, afhankelijk van of het vergeleken TimeSpan object gelijk is aan, groter dan of kleiner is dan respectievelijk.

DatePart, functie

De DatePart functie is toegewezen aan een van de verschillende canonieke functies, afhankelijk van de waarde van Interval. In de volgende tabel ziet u de canonieke functietoewijzing voor de ondersteunde waarden van Interval:

Intervalwaarde Canonieke functie
DateInterval.Year Year()
DateInterval.Month Month()
DateInterval.Day Day()
DateInterval.Hour Hour()
DateInterval.Minute Minute()
DateInterval.Second Second()

Wiskundige functietoewijzing

CLR-methode Canonieke functie
System.Decimal.Ceiling(Decimaal d) Plafond(d)
System.Decimal.Floor(Decimaal d) Floor(d)
System.Decimal.Round(Decimaal d) Round(d)
System.Math.Ceiling(Decimaal d) Plafond(d)
System.Math.Floor(decimaal d) Floor(d)
System.Math.Round(Decimaal d) Round(d)
System.Math.Ceiling(Double a) Plafond(a)
System.Math.Floor(Double a) Floor(a)
System.Math.Round(Double a) Round(a)
System.Math.Round(Dubbele waarde, Int16-cijfers) Afronden(waarde, cijfers)
System.Math.Round(Dubbele waarde, Int32 cijfers) Afronden(waarde, cijfers)
System.Math.Round(Decimale waarde, Int16-cijfers) Afronden(waarde, cijfers)
System.Math.Round(Decimale waarde, Int32, cijfers) Afronden(waarde, cijfers)
System.Math.Abs(Int16-waarde) Abs(waarde)
System.Math.Abs(Int32-waarde) Abs(waarde)
System.Math.Abs(Int64-waarde) Abs(waarde)
System.Math.Abs(Bytewaarde) Abs(waarde)
System.Math.Abs(Enkele waarde) Abs(waarde)
System.Math.Abs(dubbele waarde) Abs(waarde)
System.Math.Abs(decimale waarde) Abs(waarde)
System.Math.Truncate(Dubbele waarde, Int16-cijfers) Afkappen(waarde, cijfers)
System.Math.Truncate(Dubbele waarde, Int32 cijfers) Afkappen(waarde, cijfers)
System.Math.Truncate(decimale waarde, int16 cijfers) Afkappen(waarde, cijfers)
System.Math.Truncate(decimale waarde, int32 cijfers) Afkappen(waarde, cijfers)
System.Math.Power(Int32-waarde, Int64 exponent) Power(waarde, exponent)
System.Math.Power(Int32-waarde, dubbele exponent) Power(waarde, exponent)
System.Math.Power(Int32-waarde, decimaal exponent) Power(waarde, exponent)
System.Math.Power(Int64-waarde, Int64 exponent) Power(waarde, exponent)
System.Math.Power(Int64-waarde, dubbele exponent) Power(waarde, exponent)
System.Math.Power(Int64-waarde, decimaal exponent) Power(waarde, exponent)
System.Math.Power(Dubbele waarde, Int64 exponent) Power(waarde, exponent)
System.Math.Power(Dubbele waarde, Dubbele exponent) Power(waarde, exponent)
System.Math.Power(Dubbele waarde, Decimaal exponent) Power(waarde, exponent)
System.Math.Power(Decimale waarde, Exponent Int64) Power(waarde, exponent)
System.Math.Power(Decimale waarde, Dubbele exponent) Power(waarde, exponent)
System.Math.Power(Decimale waarde, Decimaal exponent) Power(waarde, exponent)

Bitsgewijze operatortoewijzing

Bitsgewijze operator Canonieke functie voor niet-Booleaanse operanden Canonieke functie voor Booleaanse operanden
Bitsgewijze AND-operator BitWiseAnd op1 AND op2
Bitsgewijze OR-operator BitWiseOr op1 OF op2
Bitwise NOT-operator BitWiseNot NOT(op)
Bitwise XOR-operator BitWiseXor ((op1 EN NIET(op2)) OF (NIET(op1) EN op2))

Andere toewijzingen

Wijze Canonieke functie
Guid.NewGuid() NewGuid()

Zie ook