CLR Yöntemini Kurallı İşlev ile Eşleme

Entity Framework, dize işleme ve matematiksel işlevler gibi birçok veritabanı sisteminde ortak olan işlevleri uygulayan kurallı işlevler kümesi sağlar. Bu, geliştiricilerin çok çeşitli veritabanı sistemlerini hedeflemesini sağlar. LINQ to Entities gibi bir sorgulama teknolojisinden çağrıldığında, bu kurallı işlevler kullanılan sağlayıcı için doğru ilgili mağaza işlevine çevrilir. Bu, işlev çağrılarının veri kaynakları arasında ortak bir biçimde ifade edilmesini sağlayarak veri kaynakları arasında tutarlı bir sorgu deneyimi sağlar. bit düzeyinde AND, OR, NOT ve XOR işleçleri, işlenen sayısal bir tür olduğunda kurallı işlevlerle de eşlenir. Boole işlenenleri için bit tabanlı AND, OR, NOT ve XOR işleçleri işlenenlerinin mantıksal AND, OR, NOT ve XOR işlemlerini hesaplar. Daha fazla bilgi için bkz . Kurallı İşlevler.

LINQ senaryoları için Entity Framework'e yönelik sorgular, kurallı işlevler aracılığıyla belirli CLR yöntemlerini temel alınan veri kaynağındaki yöntemlere eşlemeyi içerir. Bir LINQ to Entities sorgusunda kurallı bir işleve açıkça eşlenmeyen herhangi bir yöntem çağrısı, çalışma zamanı NotSupportedException özel durumunun atılmasıyla sonuçlanır.

System.String Yöntemi (Statik) Eşleme

System.String yöntemi (statik) Kurallı işlev
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), str2str3)
Boole Eşittir(Dize a, Dize b) = işleci
Boole IsNullOrEmpty(Dize value) (IsNull(value)) VEYA Uzunluk(value) = 0
Boole op_Equality(Dize a, Dize b) = işleci
Boole op_Inequality(Dize a , Dize b) != operator
Microsoft.VisualBasic.Strings.Trim(Dize str) Kırp(str)
Microsoft.VisualBasic.Strings.LTrim(Dize str) Ltrim(str)
Microsoft.VisualBasic.Strings.RTrim(Dize str) Rtrim(str)
Microsoft.VisualBasic.Strings.Len(String expression) Uzunluk(expression)
Microsoft.VisualBasic.Strings.Left(String str, Int32 Length) Sol(str, Length)
Microsoft.VisualBasic.Strings.Mid(String str, Int32 Start, Int32 Length) Alt dize(str, Start, Length)
Microsoft.VisualBasic.Strings.Right(String str, Int32 Length) Sağ(str, Length)
Microsoft.VisualBasic.Strings.UCase(Dize Value) ToUpper(Value)
Microsoft.VisualBasic.Strings.LCase(Dize Değeri) ToLower(Value)

System.String Yöntemi (Örnek) Eşlemesi

System.String yöntemi (örnek) Kurallı işlev Notlar
Boole İçeren(Dize value) this LIKE '%value%' Sabit değilse value bu, IndexOf(this, value) > 0 ile eşler
Boole EndsWith(Dize value) this LIKE '%value' Sabit değilse value , bu, Sağ(this, uzunluk(value)) = valueile eşler.
BooleAn StartsWith(Dize value) this LIKE 'value%' Sabit değilse value bu, IndexOf(this, value) = 1 ile eşler.
Length Uzunluk(this)
Int32 IndexOf(Dize 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) Alt Dize(this, 1, startIndex)
System.String Remove(Int32 startIndex, Int32 count) Concat(Substring(this, 1, startIndex) , Substring(this, + startIndexcount +1, Length(this) - (startIndex + count))) Remove(startIndex, count) yalnızca 0'dan büyük veya 0'a eşit bir tamsayı olduğunda count desteklenir.
System.String Replace(Dize oldValue, Dize newValue) Replace(this, oldValue, newValue)
System.String Substring(Int32 startIndex) Alt Dize(this, startIndex +1, Uzunluk(this) - startIndex)
System.String Substring(Int32 startIndex, Int32 length) Alt dize(this, startIndex +1, length)
System.String ToLower() ToLower(this)
System.String ToUpper() ToUpper(this)
System.String Trim() Kırp(this)
System.String TrimEnd(Char[] trimChars) RTrim(this)
System.String TrimStart(Char[]trimChars) LTrim(this)
Boole Eşittir(Dize value) = işleci

System.DateTime Yöntemi (Statik) Eşlemesi

System.DateTime yöntemi (statik) Kurallı işlev Notlar
Boole Eşittir(DateTime t1, DateTime t2) = işleci
System.DateTime.Now CurrentDateTime()
System.DateTime.UtcNow CurrentUtcDateTime()
Boole op_Equality(DateTime d1, DateTime d2) = işleci
Boole op_GreaterThan(DateTime t1, DateTime t2) > Işleç
Boole op_GreaterThanOrEqual(DateTime t1, DateTime t2) >= işleci
Boole op_Inequality(DateTime t1, DateTime t2) != operator
Boole op_LessThan(DateTime t1, DateTime t2) < Işleç
Boole op_LessThanOrEqual(DateTime t1, DateTime t2) <= işleci
Microsoft.VisualBasic.DateAndTime.DatePart( _

ByVal Interval As DateInterval, _

ByVal DateValue As DateTime, _

İsteğe Bağlı ByVal FirstDayOfWeekValue As FirstDayOfWeek = VbSunday, _

İsteğe Bağlı ByVal FirstWeekOfYearValue As FirstWeekOfYear = VbFirstJan1 _

) Tamsayı Olarak
Daha fazla bilgi için DatePart İşlevi bölümüne bakın.
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 Yöntemi (Örnek) Eşlemesi

System.DateTime yöntemi (örnek) Kurallı işlev
Boole Eşittir(DateTime value) = işleci
Gün Gün(this)
Saat Saat(this)
Milisaniye Milisaniye(this)
Dakika Dakika(this)
Month Ay(this)
Second saniye(this)
Yıl Yıl(this)

System.DateTimeOffset Yöntemi (Örnek) Eşlemesi

Listelenen özelliklerdeki get yöntemler için gösterilen eşleme.

System.DateTimeOffset yöntemi (örnek) Kurallı işlev Notlar
Gün Gün(this) SQL Server 2005'e karşı desteklenmez.
Saat Saat(this) SQL Server 2005'e karşı desteklenmez.
Milisaniye Milisaniye(this) SQL Server 2005'e karşı desteklenmez.
Dakika Dakika(this) SQL Server 2005'e karşı desteklenmez.
Month Ay(this) SQL Server 2005'e karşı desteklenmez.
Second saniye(this) SQL Server 2005'e karşı desteklenmez.
Yıl Yıl(this) SQL Server 2005'e karşı desteklenmez.

Not

Yöntemi, Equals karşılaştırılan DateTimeOffset nesneler eşitse döndürürtrue; false aksi takdirde. yöntemi CompareTo , karşılaştırılan DateTimeOffset nesnenin sırasıyla eşit, büyük veya küçük olmasına bağlı olarak 0, 1 veya -1 döndürür.

System.DateTimeOffset Yöntemi (Statik) Eşleme

Listelenen özelliklerdeki get yöntemler için gösterilen eşleme.

System.DateTimeOffset yöntemi (statik) Kurallı işlev Notlar
System.DateTimeOffset.Now() CurrentDateTimeOffset() SQL Server 2005'e karşı desteklenmez.

System.TimeSpan Yöntemi (Örnek) Eşlemesi

Listelenen özelliklerdeki get yöntemler için gösterilen eşleme.

System.TimeSpan yöntemi (örnek) Kurallı işlev Notlar
Saat Saat(this) SQL Server 2005'e karşı desteklenmez.
Milisaniye Milisaniye(this) SQL Server 2005'e karşı desteklenmez.
Dakika Dakika(this) SQL Server 2005'e karşı desteklenmez.
Saniye saniye(this) SQL Server 2005'e karşı desteklenmez.

Not

Yöntemi, Equals karşılaştırılan TimeSpan nesneler eşitse döndürürtrue; false aksi takdirde. yöntemi CompareTo , karşılaştırılan TimeSpan nesnenin sırasıyla eşit, büyük veya küçük olmasına bağlı olarak 0, 1 veya -1 döndürür.

DatePart İşlevi

DatePart İşlev, değerine Intervalbağlı olarak birkaç farklı kurallı işlevden biriyle eşlenir. Aşağıdaki tabloda, desteklenen değerleri için kurallı işlev eşlemesi Intervalgörüntülenir:

Aralık değeri Kurallı işlev
DateInterval.Year Year()
DateInterval.Month Month()
DateInterval.Day Day()
DateInterval.Hour Hour()
DateInterval.Minute Minute()
DateInterval.Second Second()

Matematiksel İşlev Eşlemesi

CLR yöntemi Kurallı işlev
System.Decimal.Ceiling(Ondalık d) Tavan(d)
System.Decimal.Floor(Ondalık d) Kat(d)
System.Decimal.Round(Ondalık d) Yuvarlak(d)
System.Math.Ceiling(Ondalık d) Tavan(d)
System.Math.Floor(Ondalık d) Kat(d)
System.Math.Round(Ondalık d) Yuvarlak(d)
System.Math.Ceiling(Çift a) Tavan(a)
System.Math.Floor(Çift a) Kat(a)
System.Math.Round(Çift a) Yuvarlak(a)
System.Math.Round(Çift değer, Int16 basamakları) Round(değer, basamaklar)
System.Math.Round(Çift değer, Int32 basamakları) Round(değer, basamaklar)
System.Math.Round(Ondalık değer, Int16 basamakları) Round(değer, basamaklar)
System.Math.Round(Ondalık değer, Int32, basamaklar) Round(değer, basamaklar)
System.Math.Abs(Int16 değeri) Abs(değer)
System.Math.Abs(Int32 değeri) Abs(değer)
System.Math.Abs(Int64 değeri) Abs(değer)
System.Math.Abs(Bayt değeri) Abs(değer)
System.Math.Abs(Tek değer) Abs(değer)
System.Math.Abs(Çift değer) Abs(değer)
System.Math.Abs(Ondalık değer) Abs(değer)
System.Math.Truncate(Çift değer, Int16 basamaklar) Kesme(değer, basamaklar)
System.Math.Truncate(Çift değer, Int32 basamakları) Kesme(değer, basamaklar)
System.Math.Truncate(Ondalık değer, Int16 basamakları) Kesme(değer, basamaklar)
System.Math.Truncate(Ondalık değer, Int32 basamakları) Kesme(değer, basamaklar)
System.Math.Power(Int32 değeri, Int64 üs) Güç(değer, üs)
System.Math.Power(Int32 değeri, Çift üs) Güç(değer, üs)
System.Math.Power(Int32 değeri, Ondalık üs) Güç(değer, üs)
System.Math.Power(Int64 değeri, Int64 üs) Güç(değer, üs)
System.Math.Power(Int64 değeri, Çift üs) Güç(değer, üs)
System.Math.Power(Int64 değeri, Ondalık üs) Güç(değer, üs)
System.Math.Power(Çift değer, Int64 üs) Güç(değer, üs)
System.Math.Power(Çift değer, Çift üs) Güç(değer, üs)
System.Math.Power(Çift değer, Ondalık üs) Güç(değer, üs)
System.Math.Power(Ondalık değer, Int64 üs) Güç(değer, üs)
System.Math.Power(Ondalık değer, Çift üs) Güç(değer, üs)
System.Math.Power(Ondalık değer, Ondalık üs) Güç(değer, üs)

Bit Düzeyinde İşleç Eşlemesi

Bit düzeyinde işleç Boole olmayan işlenenler için kurallı işlev Boole işlenenleri için kurallı işlev
Bit düzeyinde AND işleci BitWiseAnd op1 VE op2
Bit düzeyinde OR işleci BitWiseOr op1 VEYA op2
Bit Düzeyinde DEĞİl işleci BitWiseNot DEĞİl(op)
Bit düzeyinde XOR işleci BitWiseXor ((op1 VE DEĞİl(op2)) VEYA (DEĞİl(op1) VE op2))

Diğer Eşleme

Metot Kurallı işlev
Guid.NewGuid() NewGuid()

Ayrıca bkz.