Mapping dei metodi CLR alle funzioni canoniche

Determinati metodi CLR vengono convertiti in funzioni canoniche dell'albero dei comandi, che possono essere eseguite sul database. Se non è possibile mappare un metodo CLR a una funzione canonica dell'albero dei comandi, viene generata un'eccezione al momento della conversione.

Mapping del metodo System.String (statico)

Metodo System.String (statico) Funzione canonica

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)

Operatore =

Boolean IsNullOrEmpty(String value)

(IsNull(value)) OR Length(value) = 0

Boolean op_Equality(String a, String b)

Operatore =

Boolean op_Inequality(String a , String b)

Operatore !=

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)

Mapping del metodo System.String (istanza)

Metodo System.String (istanza) Funzione canonica Note

Boolean Contains(String value)

IndexOf(this, value) > 0

Boolean EndsWith(String value)

Right(this, length(value)) = value

Boolean StartsWith(String value)

IndexOf(this, value) = 1

Int32 get_Length()

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) è supportato solo se count è un valore intero maggiore o uguale a 0.

System.String Replace(String oldValue, String newValue)

Replace(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)

Operatore =

Mapping del metodo System.DateTime (statico)

Metodo System.DateTime (statico) Funzione canonica Note

Boolean Equals(DateTime t1, DateTime t2)

Operatore =

System.DateTime get_Now()

CurrentDateTime()

System.DateTime get_UtcNow()

CurrentUtcDateTime()

Boolean op_Equality(DateTime d1, DateTime d2)

Operatore =

Boolean op_GreaterThan(DateTime t1, DateTime t2)

Operatore >

Boolean op_GreaterThanOrEqual(DateTime t1, DateTime t2)

Operatore >=

Boolean op_Inequality(DateTime t1, DateTime t2)

Operatore !=

Boolean op_LessThan(DateTime t1, DateTime t2)

Operatore <

Boolean op_LessThanOrEqual(DateTime t1, DateTime t2)

Operatore <=

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

Per ulteriori informazioni, vedere la sezione relativa alla funzione DatePart.

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()

Mapping del metodo System.DateTime (istanza)

Metodo System.DateTime (istanza) Funzione canonica

Boolean Equals(DateTime value)

Operatore =

Int32 get_Day()

Day(this)

Int32 get_Hour()

Hour(this)

Int32 get_Millisecond()

Millisecond(this)

Int32 get_Minute()

Minute(this)

Int32 get_Month()

Month(this)

Int32 get_Second()

Second(this)

Int32 get_Year()

Year(this)

Mapping del metodo System.DateTimeOffset (istanza)

Metodo System.DateTimeOffset (istanza) Funzione canonica Note

Int32 get_Day()

Day(this)

Non supportato in SQL Server 2005.

Int32 get_Hour()

Hour(this)

Non supportato in SQL Server 2005.

Int32 get_Millisecond()

Millisecond(this)

Non supportato in SQL Server 2005.

Int32 get_Minute()

Minute(this)

Non supportato in SQL Server 2005.

Int32 get_Month()

Month(this)

Non supportato in SQL Server 2005.

Int32 get_Second()

Second(this)

Non supportato in SQL Server 2005.

Int32 get_Year()

Year(this)

Non supportato in SQL Server 2005.

Mapping del metodo System.DateTimeOffset (statico)

Metodo System.DateTimeOffset (statico) Funzione canonica Note

System.DateTimeOffset get_Now()

CurrentDateTimeOffset()

Non supportato in SQL Server 2005.

Mapping del metodo System.TimeSpan (istanza)

Metodo System.TimeSpan (istanza) Funzione canonica Note

Int32 get_Hours()

Hour(this)

Non supportato in SQL Server 2005.

Int32 get_Milliseconds()

Millisecond(this)

Non supportato in SQL Server 2005.

Int32 get_Minutes()

Minute(this)

Non supportato in SQL Server 2005.

Int32 get_Seconds()

Second(this)

Non supportato in SQL Server 2005.

Funzione DatePart

La funzione DatePart è mappata a una di numerose funzioni canoniche diverse, a seconda del valore di Interval. Nella tabella seguente viene illustrato il mapping alla funzione canonica per i valori supportati di Interval:

Valore di Interval Funzione canonica

DateInterval.Year

Year()

DateInterval.Month

Month()

DateInterval.Day

Day()

DateInterval.Hour

Hour()

DateInterval.Minute

Minute()

DateInterval.Second

Second()

Mapping delle funzioni matematiche

Metodo CLR Funzione canonica

System.Decimal.Ceiling(Decimal d)

Ceiling(d)

System.Decimal.Floor(Decimal d)

Floor(d)

System.Decimal.Round(Decimal d)

Round(d)

System.Math.Ceiling(Decimal d)

Ceiling(d)

System.Math.Floor(Decimal d)

Floor(d)

System.Math.Round(Decimal d)

Round(d)

System.Math.Ceiling(Double a)

Ceiling(a)

System.Math.Floor(Double a)

Floor(a)

System.Math.Round(Double a)

Round(a)

Mapping degli operatori bit per bit

Operatore bit per bit Funzione canonica per gli operandi non booleani Funzione canonica per gli operandi booleani

Operatore AND bit per bit

BitWiseAnd

op1 AND op2

Operatore OR bit per bit

BitWiseOr

op1 OR op2

Operatore NOT bit per bit

BitWiseNot

NOT(op)

Operatore XOR bit per bit

BitWiseXor

((op1 AND NOT(op2)) OR (NOT(op1) AND op2))

Vedere anche

Altre risorse

Riferimenti (LINQ to Entities)