Condividi tramite


SqlMethodAttribute Classe

Definizione

Indica il determinismo e le proprietà di accesso ai dati di un metodo o una proprietà su un tipo definito dall'utente (UDT). Le proprietà dell'attributo riflettono le caratteristiche fisiche utilizzate quando il tipo viene registrato con SQL Server.

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
Ereditarietà
SqlMethodAttribute
Attributi

Esempio

Nell'esempio seguente viene illustrato un metodo definito dall'utente con attributi per indicare che il metodo non verrà richiamato nelle istanze Null del tipo, che il metodo non modificherà lo stato del tipo e che il metodo non verrà chiamato quando null i parametri vengono forniti alla chiamata al metodo.

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));
    }

Commenti

Per una proprietà, SqlMethodAttribute deve essere utilizzato direttamente sul setter o sul getter.

SqlMethodAttribute eredita da un oggetto SqlFunctionAttribute, quindi SqlMethodAttribute eredita i FillRowMethodName campi e TableDefinition da SqlFunctionAttribute. Si noti che non è possibile scrivere un metodo con valori di tabella, anche se i nomi di questi campi potrebbero suggerire che sia possibile.

Costruttori

SqlMethodAttribute()

Attributo di un tipo definito dall'utente (UDT), utilizzato per indicare il determinismo e le proprietà di accesso ai dati di un metodo o di una proprietà su un UDT.

Proprietà

DataAccess

Indica se la funzione comporta l'accesso ai dati dell'utente memorizzati nell'istanza locale di SQL Server.

(Ereditato da SqlFunctionAttribute)
FillRowMethodName

Nome di un metodo della stessa classe usato per inserire una riga di dati nella tabella restituita dalla funzione con valori di tabella.

(Ereditato da SqlFunctionAttribute)
InvokeIfReceiverIsNull

Indica se SQL Server deve richiamare il metodo su istanze Null.

IsDeterministic

Indica se la funzione definita dall'utente è deterministica.

(Ereditato da SqlFunctionAttribute)
IsMutator

Indica se un metodo utilizzato su un tipo definito dall'utente (UDT) è un mutator.

IsPrecise

Indica se la funzione comporta calcoli imprecisi, quali operazioni a virgola mobile.

(Ereditato da SqlFunctionAttribute)
Name

Nome di registrazione della funzione in SQL Server.

(Ereditato da SqlFunctionAttribute)
OnNullCall

Indica se il metodo su un tipo definito dall'utente (UDT) viene chiamato quando gli argomenti di input null sono specificati nella chiamata al metodo.

SystemDataAccess

Indica se la funzione richiede l'accesso ai dati memorizzati nei cataloghi di sistema o nelle tabelle di sistema virtuali di SQL Server.

(Ereditato da SqlFunctionAttribute)
TableDefinition

Stringa che rappresenta la definizione di tabella dei risultati, se il metodo viene utilizzato come funzione con valori di tabella (TVF).

(Ereditato da SqlFunctionAttribute)

Si applica a