Aracılığıyla paylaş


SqlMethodAttribute Sınıf

Tanım

Kullanıcı tanımlı bir türdeki (UDT) bir yöntemin veya özelliğin determinizm ve veri erişim özelliklerini gösterir. özniteliğindeki özellikler, tür SQL Server kaydedildiğinde kullanılan fiziksel özellikleri yansıtır.

public ref class SqlMethodAttribute sealed : Microsoft::SqlServer::Server::SqlFunctionAttribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)]
public sealed class SqlMethodAttribute : Microsoft.SqlServer.Server.SqlFunctionAttribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)]
[System.Serializable]
public sealed class SqlMethodAttribute : Microsoft.SqlServer.Server.SqlFunctionAttribute
[<System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)>]
type SqlMethodAttribute = class
    inherit SqlFunctionAttribute
[<System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)>]
[<System.Serializable>]
type SqlMethodAttribute = class
    inherit SqlFunctionAttribute
Public NotInheritable Class SqlMethodAttribute
Inherits SqlFunctionAttribute
Devralma
SqlMethodAttribute
Öznitelikler

Örnekler

Aşağıdaki örnek, yöntemin türün null örneklerinde çağrılmeyeceğini, yöntemin türün durumunu değiştirmeyeceğini ve yöntem çağrısına parametreler sağlandığında null yöntemin çağrılmeyeceğini belirtmek için atfedilen bir UDT yöntemini gösterir.

using Microsoft.Data.SqlClient.Server;
using System.Data.SqlTypes;
using System.Text;

[Serializable]
[Microsoft.Data.SqlClient.Server.SqlUserDefinedType(Format.Native,
     IsByteOrdered = true,
     Name = "Point", ValidationMethodName = "ValidatePoint")]
public struct Point : INullable
{

    private bool is_Null;
    private Int32 _x;
    private Int32 _y;

    // Distance from Point to the specified x and y values method.
    [SqlMethod(OnNullCall = false, IsMutator = false, InvokeIfReceiverIsNull = false)]
    public Double DistanceFromXY(Int32 iX, Int32 iY)
    {
        return Math.Sqrt(Math.Pow(iX - _x, 2.0) + Math.Pow(iY - _y, 2.0));
    }

Açıklamalar

Bir özellik için, SqlMethodAttribute ayarlayıcıda veya doğrudan getter üzerinde kullanılmalıdır.

SqlMethodAttributebir SqlFunctionAttribute'den devralır, bu nedenle SqlMethodAttribute ve TableDefinition alanlarını 'dan SqlFunctionAttributedevralırFillRowMethodName. Tablo değerli bir yöntem yazmanın mümkün olmadığını unutmayın, ancak bu alanların adları mümkün olduğunu gösterebilir.

Oluşturucular

SqlMethodAttribute()

UDT'de bir yöntemin veya özelliğin determinizm ve veri erişim özelliklerini göstermek için kullanılan, kullanıcı tanımlı türdeki (UDT) öznitelik.

Özellikler

DataAccess

İşlevin, SQL Server yerel örneğinde depolanan kullanıcı verilerine erişim içerip içermediğini gösterir.

(Devralındığı yer: SqlFunctionAttribute)
FillRowMethodName

Tablo değerli işlevi tarafından döndürülen tablodaki bir veri satırını doldurmak için kullanılan aynı sınıftaki bir yöntemin adı.

(Devralındığı yer: SqlFunctionAttribute)
InvokeIfReceiverIsNull

SQL Server null örneklerde yöntemini çağırıp çağırmayacağını gösterir.

IsDeterministic

Kullanıcı tanımlı işlevin belirlenici olup olmadığını gösterir.

(Devralındığı yer: SqlFunctionAttribute)
IsMutator

Kullanıcı tanımlı türdeki (UDT) bir yöntemin bir mutator olup olmadığını gösterir.

IsPrecise

İşlevin kayan nokta işlemleri gibi kesin olmayan hesaplamalar içerip içermediğini gösterir.

(Devralındığı yer: SqlFunctionAttribute)
Name

İşlevin SQL Server kaydedilmesi gereken ad.

(Devralındığı yer: SqlFunctionAttribute)
OnNullCall

Yöntem çağrısında giriş bağımsız değişkenleri belirtildiğinde null kullanıcı tanımlı türdeki (UDT) yöntemin çağrılıp çağrılmadığını gösterir.

SystemDataAccess

İşlevin sistem kataloglarında veya SQL Server sanal sistem tablolarında depolanan verilere erişmesi gerekip gerekmediğini gösterir.

(Devralındığı yer: SqlFunctionAttribute)
TableDefinition

Yöntemin tablo değerli bir işlev (TVF) olarak kullanılması durumunda sonuçların tablo tanımını temsil eden bir dize.

(Devralındığı yer: SqlFunctionAttribute)

Şunlara uygulanır