SqlMethodAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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 |
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) |