SqlMethodAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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 |
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) |