SqlMethodAttribute Klasse

Definition

Gibt die Verwendung und die Datenzugriffseigenschaften einer Methode oder Eigenschaft in einem benutzerdefinierten Typ (User-Defined Type, UDT) an.Indicates the determinism and data access properties of a method or property on a user-defined type (UDT). Die Eigenschaften des Attributs stellen nur die physikalischen Merkmale dar, die beim Registrieren des Typs in SQL Server verwendet werden.The properties on the attribute reflect the physical characteristics that are used when the type is registered with SQL Server.

public ref class SqlMethodAttribute sealed : Microsoft::SqlServer::Server::SqlFunctionAttribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)]
[System.Serializable]
public sealed class SqlMethodAttribute : Microsoft.SqlServer.Server.SqlFunctionAttribute
type SqlMethodAttribute = class
    inherit SqlFunctionAttribute
Public NotInheritable Class SqlMethodAttribute
Inherits SqlFunctionAttribute
Vererbung
Attribute

Beispiele

Das folgende Beispiel zeigt eine UDT-Methode, die attributiert ist, um anzugeben, dass die-Methode nicht für null-Instanzen des-Typs aufgerufen wird, dass die-Methode den Zustand des Typs nicht ändert und dass die-Methode null nicht aufgerufen wird, wenn Parameter wird für den Methodenaufruf bereitgestellt.The following example shows a UDT method that is attributed to indicate that the method will not be invoked on null instances of the type, that the method will not change the state of the type, and that the method will not be called when null parameters are supplied to the method invocation.

// 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));
}
' Distance from Point to the specified x and y values method.
<SqlMethod(OnNullCall:=False, IsMutator:=False, InvokeIfReceiverIsNull:=False)> _
Public Function DistanceFromXY(ByVal ix As Int32, ByVal iy As Int32) _
    As Double

    Return Math.Sqrt(Math.Pow(ix - _x, 2.0) + Math.Pow(iy - _y, 2.0))

End Function

Hinweise

Für eine Eigenschaft sollte das SqlMethodAttribute direkt für den Setter oder den Getter verwendet werden.For a property, the SqlMethodAttribute should be used on the setter or the getter directly.

SqlMethodAttributeerbt von einem SqlFunctionAttributeund erbt daher SqlMethodAttribute die FillRowMethodName Felder TableDefinition und von SqlFunctionAttribute.SqlMethodAttribute inherits from a SqlFunctionAttribute, so SqlMethodAttribute inherits the FillRowMethodName and TableDefinition fields from SqlFunctionAttribute. Beachten Sie, dass es nicht möglich ist, eine Tabellenwert Methode zu schreiben, obwohl die Namen dieser Felder möglicherweise darauf hindeuten, dass dies möglich ist.Note that it is not possible to write a table-valued method, although the names of these fields might suggest that it is possible.

Konstruktoren

SqlMethodAttribute()

Ein Attribut eines benutzerdefinierten Typs (UDT), mit dem die Verwendung und Datenzugriffseigenschaften einer Methode oder einer Eigenschaft in einem UDT angegeben werden.An attribute on a user-defined type (UDT), used to indicate the determinism and data access properties of a method or a property on a UDT.

Eigenschaften

DataAccess

Gibt an, ob die Funktion Zugriff auf in der lokalen Instanz von SQL Server gespeicherte Benutzerdaten einschließt.Indicates whether the function involves access to user data stored in the local instance of SQL Server.

(Geerbt von SqlFunctionAttribute)
FillRowMethodName

Der Name der Methode in der Klasse, die verwendet wird, um eine Datenzeile in der Tabelle aufzufüllen, die von der Tabellenwertfunktion zurückgegeben wurde.The name of a method in the same class which is used to fill a row of data in the table returned by the table-valued function.

(Geerbt von SqlFunctionAttribute)
InvokeIfReceiverIsNull

Gibt an, ob SQL Server die Methode für NULL-Instanzen aufrufen soll.Indicates whether SQL Server should invoke the method on null instances.

IsDeterministic

Gibt an, ob die benutzerdefinierte Funktion deterministisch ist.Indicates whether the user-defined function is deterministic.

(Geerbt von SqlFunctionAttribute)
IsMutator

Gibt an, ob eine Methode in einem benutzerdefinierten Typ (UDT) eine Mutatormethode ist.Indicates whether a method on a user-defined type (UDT) is a mutator.

IsPrecise

Gibt an, ob die Funktion ungenaue Berechnungen einschließt, z. B. Gleitkommaoperationen.Indicates whether the function involves imprecise computations, such as floating point operations.

(Geerbt von SqlFunctionAttribute)
Name

Der Name, mit dem die Funktion in SQL Server registriert werden soll.The name under which the function should be registered in SQL Server.

(Geerbt von SqlFunctionAttribute)
OnNullCall

Gibt an, ob die Methode für einen benutzerdefinierten Typ (User-Defined Type, UDT) aufgerufen wird, wenn null-Eingabeargumente im Methodenaufruf angegeben werden.Indicates whether the method on a user-defined type (UDT) is called when null input arguments are specified in the method invocation.

SystemDataAccess

Gibt an, ob für die Funktion Zugriff auf Daten in den Systemkatalogen oder den virtuellen Systemtabellen von SQL Server erforderlich ist.Indicates whether the function requires access to data stored in the system catalogs or virtual system tables of SQL Server.

(Geerbt von SqlFunctionAttribute)
TableDefinition

Eine Zeichenfolge, die die Tabellendefinition der Ergebnisse darstellt, wenn die Methode als eine Tabellenwertfunktion verwendet wird.A string that represents the table definition of the results, if the method is used as a table-valued function (TVF).

(Geerbt von SqlFunctionAttribute)
TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.When implemented in a derived class, gets a unique identifier for this Attribute.

(Geerbt von Attribute)

Methoden

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.Returns a value that indicates whether this instance is equal to a specified object.

(Geerbt von Attribute)
GetHashCode()

Gibt den Hashcode für diese Instanz zurück.Returns the hash code for this instance.

(Geerbt von Attribute)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Geerbt von Attribute)
Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

(Geerbt von Attribute)

Gilt für: