SqlMethodAttribute Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt die Verwendung und die Datenzugriffseigenschaften einer Methode oder Eigenschaft in einem benutzerdefinierten Typ (User-Defined Type, UDT) an. Die Eigenschaften des Attributs stellen nur die physikalischen Merkmale dar, die beim Registrieren des Typs in SQL Server verwendet werden.
public ref class SqlMethodAttribute sealed : Microsoft::Data::SqlClient::Server::SqlFunctionAttribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)]
[System.Serializable]
public sealed class SqlMethodAttribute : Microsoft.Data.SqlClient.Server.SqlFunctionAttribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)]
public sealed class SqlMethodAttribute : Microsoft.Data.SqlClient.Server.SqlFunctionAttribute
[<System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)>]
[<System.Serializable>]
type SqlMethodAttribute = class
inherit SqlFunctionAttribute
[<System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)>]
type SqlMethodAttribute = class
inherit SqlFunctionAttribute
Public NotInheritable Class SqlMethodAttribute
Inherits SqlFunctionAttribute
- Vererbung
- Attribute
Beispiele
Das folgende Beispiel zeigt eine UDT-Methode, die zur Angabe zugewiesen wird, 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 nicht aufgerufen wird, wenn null
Parameter für den Methodenaufruf angegeben werden.
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));
}
Hinweise
Für eine Eigenschaft sollte die SqlMethodAttribute direkt für den Setter oder den Getter verwendet werden.
SqlMethodAttribute erbt von einem SqlFunctionAttribute, sodass SqlMethodAttribute die FillRowMethodName
Felder und TableDefinition
von geerbt werden SqlFunctionAttribute. Beachten Sie, dass es nicht möglich ist, eine Tabellenwertmethode zu schreiben, obwohl die Namen dieser Felder möglicherweise darauf hindeuten, dass dies möglich ist.
Konstruktoren
SqlMethodAttribute() |
Ein Attribut eines benutzerdefinierten Typs (UDT), mit dem die Verwendung und Datenzugriffseigenschaften einer Methode oder einer Eigenschaft in einem UDT angegeben werden. |
Eigenschaften
DataAccess |
Gibt an, ob die Funktion Zugriff auf in der lokalen Instanz von SQL Server gespeicherte Benutzerdaten einschließt. (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. (Geerbt von SqlFunctionAttribute) |
InvokeIfReceiverIsNull |
Gibt an, ob SQL Server die Methode für NULL-Instanzen aufrufen soll. |
IsDeterministic |
Gibt an, ob die benutzerdefinierte Funktion deterministisch ist. (Geerbt von SqlFunctionAttribute) |
IsMutator |
Gibt an, ob eine Methode in einem benutzerdefinierten Typ (UDT) eine Mutatormethode ist. |
IsPrecise |
Gibt an, ob die Funktion ungenaue Berechnungen beinhaltet, z. B. Gleitkommaoperationen. (Geerbt von SqlFunctionAttribute) |
Name |
Der Name, mit dem die Funktion in SQL Server registriert werden soll. (Geerbt von SqlFunctionAttribute) |
OnNullCall |
Gibt an, ob die Methode für einen benutzerdefinierten Typ (User-Defined Type, UDT) aufgerufen wird, wenn |
SystemDataAccess |
Gibt an, ob für die Funktion Zugriff auf Daten in den Systemkatalogen oder den virtuellen Systemtabellen von SQL Server erforderlich ist. (Geerbt von SqlFunctionAttribute) |
TableDefinition |
Eine Zeichenfolge, die die Tabellendefinition der Ergebnisse darstellt, wenn die Methode als eine Tabellenwertfunktion verwendet wird. (Geerbt von SqlFunctionAttribute) |