Partilhar via


SqlMethodAttribute Classe

Definição

Indica as propriedades de determinismo e de acesso a dados de um método ou propriedade em um UDT (tipo definido pelo usuário). As propriedades do atributo refletem as características físicas usadas quando o tipo é registrado no 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
Herança
SqlMethodAttribute
Atributos

Exemplos

O exemplo a seguir mostra um método UDT que é atribuído para indicar que o método não será invocado em instâncias nulas do tipo, que o método não alterará o estado do tipo e que o método não será chamado quando null os parâmetros forem fornecidos para a invocação do método.

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

Comentários

Para uma propriedade , o SqlMethodAttribute deve ser usado diretamente no setter ou no getter.

SqlMethodAttribute herda de um SqlFunctionAttribute, portanto SqlMethodAttribute , herda os FillRowMethodName campos e TableDefinition de SqlFunctionAttribute. Observe que não é possível escrever um método com valor de tabela, embora os nomes desses campos possam sugerir que é possível.

Construtores

SqlMethodAttribute()

Um atributo em um UDT (tipo definido pelo usuário), usado para indicar propriedades de determinismo e de acesso a dados de um método ou uma propriedade em um UDT.

Propriedades

DataAccess

Indica se a função envolve o acesso a dados do usuário armazenados na instância local do SQL Server.

(Herdado de SqlFunctionAttribute)
FillRowMethodName

O nome de um método na mesma classe que é usado para preencher uma linha de dados na tabela retornada pela função com valor de tabela.

(Herdado de SqlFunctionAttribute)
InvokeIfReceiverIsNull

Indica se o SQL Server deve invocar o método em instâncias nulas.

IsDeterministic

Indica se a função definida pelo usuário é determinística.

(Herdado de SqlFunctionAttribute)
IsMutator

Indica se um método em um UDT (tipo definido pelo usuário) é um modificador.

IsPrecise

Indica se a função envolve computações imprecisas como, por exemplo, operações de ponto flutuante.

(Herdado de SqlFunctionAttribute)
Name

O nome sob o qual a função deve ser registrada no SQL Server.

(Herdado de SqlFunctionAttribute)
OnNullCall

Indica se o método em um tipo definido pelo usuário (UDT) é chamado quando argumentos de entrada null são especificados na invocação de método.

SystemDataAccess

Indica se a função requer acesso a dados armazenados em catálogos do sistema ou tabelas do sistema virtuais do SQL Server.

(Herdado de SqlFunctionAttribute)
TableDefinition

Uma cadeia de caracteres que representa a definição de tabela dos resultados se o método é usado como uma TVF (função com valor de tabela).

(Herdado de SqlFunctionAttribute)

Aplica-se a