Partager via


SqlMethodAttribute Classe

Définition

Indique le déterminisme et les propriétés d'accès aux données d'une méthode ou propriété d'un type défini par l'utilisateur. Les propriétés de l'attribut reflètent les caractéristiques physiques utilisées lorsque le type est enregistré avec 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
Héritage
SqlMethodAttribute
Attributs

Exemples

L’exemple suivant montre une méthode UDT qui est attribuée pour indiquer que la méthode ne sera pas appelée sur les instances null du type, que la méthode ne changera pas l’état du type et que la méthode ne sera pas appelée lorsque null des paramètres sont fournis à l’appel de méthode.

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

Remarques

Pour une propriété, le SqlMethodAttribute doit être utilisé directement sur le setter ou le getter.

SqlMethodAttribute hérite d’un SqlFunctionAttribute, SqlMethodAttribute donc hérite des FillRowMethodName champs et TableDefinition de SqlFunctionAttribute. Notez qu’il n’est pas possible d’écrire une méthode table, bien que les noms de ces champs puissent suggérer que c’est possible.

Constructeurs

SqlMethodAttribute()

Attribut d'un type défini par l'utilisateur permettant d'indiquer le déterminisme et les propriétés d'accès aux données d'une méthode ou d'une propriété sur un type défini par l'utilisateur.

Propriétés

DataAccess

Indique si la fonction implique l'accès aux données utilisateur stockées dans l'instance locale de SQL Server.

(Hérité de SqlFunctionAttribute)
FillRowMethodName

Nom d’une méthode dans la même classe que celle qui est utilisée pour remplir une ligne de données dans la table retournée par la fonction table.

(Hérité de SqlFunctionAttribute)
InvokeIfReceiverIsNull

Indique si SQL Server doit appeler la méthode sur les instances null.

IsDeterministic

Indique si la fonction définie par l'utilisateur est déterministe.

(Hérité de SqlFunctionAttribute)
IsMutator

Indique si une méthode d'un type défini par l'utilisateur est un mutateur.

IsPrecise

Indique si la fonction implique des calculs imprécis, tels que des opérations à virgule flottante.

(Hérité de SqlFunctionAttribute)
Name

Nom sous lequel la fonction doit être enregistrée dans SQL Server.

(Hérité de SqlFunctionAttribute)
OnNullCall

Indique si la méthode sur un type défini par l’utilisateur (UDT) est appelée quand des arguments d’entrée null spécifiés dans l’appel de méthode.

SystemDataAccess

Indique si la fonction requiert l'accès aux données stockées dans les catalogues système ou les tables système virtuelles de SQL Server.

(Hérité de SqlFunctionAttribute)
TableDefinition

Chaîne qui représente la définition de table des résultats, si la méthode est utilisée comme une fonction table.

(Hérité de SqlFunctionAttribute)

S’applique à