Поделиться через


Сопоставление методов CLR с каноническими функциями

Некоторые методы CLR преобразовываются в дерево команд канонических функций, которые можно исполнить в базе данных. Если метод CLR невозможно сопоставить с деревом команд канонической функции, при выполнении преобразования возникает исключение.

Сопоставление метода System.String (статический)

Метод System.String (статический) Каноническая функция

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)

оператор =

Boolean IsNullOrEmpty(String value)

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

Boolean op_Equality(String a, String b)

Оператор =

Boolean op_Inequality(String a , String b)

оператор !=

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)

Сопоставление метода System.String (экземпляр)

Метод System.String (экземпляр) Каноническая функция Примечания

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) поддерживается, только если count — это неотрицательное целое число.

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)

Оператор =

Сопоставление метода System.DateTime (статический)

Метод System.DateTime (статический) Каноническая функция Примечания

Boolean Equals(DateTime t1, DateTime t2)

Оператор =

System.DateTime get_Now()

CurrentDateTime()

System.DateTime get_UtcNow()

CurrentUtcDateTime()

Boolean op_Equality(DateTime d1, DateTime d2)

Оператор =

Boolean op_GreaterThan(DateTime t1, DateTime t2)

оператор >

Boolean op_GreaterThanOrEqual(DateTime t1, DateTime t2)

> оператор =

Boolean op_Inequality(DateTime t1, DateTime t2)

Оператор !=

Boolean op_LessThan(DateTime t1, DateTime t2)

оператор <

Boolean op_LessThanOrEqual(DateTime t1, DateTime t2)

< оператор =

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

Дополнительные сведения см. в разделе «Функция 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()

Сопоставление метода System.DateTime (экземпляр)

Метод System.DateTime (экземпляр) Каноническая функция

Boolean Equals(DateTime value)

Оператор =

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)

Сопоставление метода System.DateTimeOffset (экземпляр)

Метод System.DateTimeOffset (экземпляр) Каноническая функция Примечания

Int32 get_Day()

Day(this)

Не поддерживается для SQL Server 2005.

Int32 get_Hour()

Hour(this)

Не поддерживается для SQL Server 2005.

Int32 get_Millisecond()

Millisecond(this)

Не поддерживается для SQL Server 2005.

Int32 get_Minute()

Minute(this)

Не поддерживается для SQL Server 2005.

Int32 get_Month()

Month(this)

Не поддерживается для SQL Server 2005.

Int32 get_Second()

Second(this)

Не поддерживается для SQL Server 2005.

Int32 get_Year()

Year(this)

Не поддерживается для SQL Server 2005.

Сопоставление метода System.DateTimeOffset (статический)

Метод System.DateTimeOffset (статический) Каноническая функция Примечания

System.DateTimeOffset get_Now()

CurrentDateTimeOffset()

Не поддерживается для SQL Server 2005.

Сопоставление метода System.TimeSpan (экземпляр)

Метод System.TimeSpan (экземпляр) Каноническая функция Примечания

Int32 get_Hours()

Hour(this)

Не поддерживается для SQL Server 2005.

Int32 get_Milliseconds()

Millisecond(this)

Не поддерживается для SQL Server 2005.

Int32 get_Minutes()

Minute(this)

Не поддерживается для SQL Server 2005.

Int32 get_Seconds()

Second(this)

Не поддерживается для SQL Server 2005.

Функция DatePart

Функция DatePart сопоставляется с одной или несколькими каноническими функциями в зависимости от значения Interval. В следующей таблице приведено сопоставление канонических функций для поддерживаемых значений Interval.

Значение интервала Каноническая функция

DateInterval.Year

Year()

DateInterval.Month

Month()

DateInterval.Day

Day()

DateInterval.Hour

Hour()

DateInterval.Minute

Minute()

DateInterval.Second

Second()

Сопоставление математических функций

Метод CLR Каноническая функция

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)

Сопоставление побитовых операторов

Побитовый оператор Канонические функции для нелогических операндов Канонические функции для логических операндов

Побитовый оператор AND

BitWiseAnd

op1 AND op2

Побитовый оператор OR

BitWiseOr

op1 OR op2

Побитовый оператор NOT

BitWiseNot

NOT(op)

Побитовый оператор XOR

BitWiseXor

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

См. также

Другие ресурсы

Справочник (LINQ to Entities)