SqlMethodAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wskazuje właściwości determinizmu i dostępu do danych metody lub właściwości w typie zdefiniowanym przez użytkownika (UDT). Właściwości atrybutu odzwierciedlają cechy fizyczne używane podczas rejestrowania typu za pomocą 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
- Dziedziczenie
- Atrybuty
Przykłady
W poniższym przykładzie pokazano metodę UDT przypisaną do wskazania, że metoda nie zostanie wywołana w wystąpieniach typu null, że metoda nie zmieni stanu typu i że metoda nie zostanie wywołana, gdy null
parametry zostaną dostarczone do wywołania metody.
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));
}
Uwagi
W przypadku właściwości SqlMethodAttribute element powinien być używany bezpośrednio w zestawie lub w metodzie getter.
SqlMethodAttribute dziedziczy z klasy SqlFunctionAttribute, więc SqlMethodAttribute dziedziczy FillRowMethodName
pola i TableDefinition
z SqlFunctionAttribute. Należy pamiętać, że nie można napisać metody wartości tabeli, chociaż nazwy tych pól mogą sugerować, że jest to możliwe.
Konstruktory
SqlMethodAttribute() |
Atrybut typu zdefiniowanego przez użytkownika (UDT) używany do wskazywania właściwości determinizmu i dostępu do danych metody lub właściwości w udT. |
Właściwości
DataAccess |
Wskazuje, czy funkcja obejmuje dostęp do danych użytkownika przechowywanych w lokalnym wystąpieniu SQL Server. (Odziedziczone po SqlFunctionAttribute) |
FillRowMethodName |
Nazwa metody w tej samej klasie, która służy do wypełniania wiersza danych w tabeli zwróconej przez funkcję wartości tabeli. (Odziedziczone po SqlFunctionAttribute) |
InvokeIfReceiverIsNull |
Wskazuje, czy SQL Server należy wywołać metodę w wystąpieniach o wartości null. |
IsDeterministic |
Wskazuje, czy funkcja zdefiniowana przez użytkownika jest deterministyczna. (Odziedziczone po SqlFunctionAttribute) |
IsMutator |
Wskazuje, czy metoda w typie zdefiniowanym przez użytkownika (UDT) jest mutatorem. |
IsPrecise |
Wskazuje, czy funkcja obejmuje nieprecyzyjne obliczenia, takie jak operacje zmiennoprzecinkowe. (Odziedziczone po SqlFunctionAttribute) |
Name |
Nazwa, w której funkcja powinna być zarejestrowana w SQL Server. (Odziedziczone po SqlFunctionAttribute) |
OnNullCall |
Wskazuje, czy metoda w typie zdefiniowanym przez użytkownika (UDT) jest wywoływana, gdy |
SystemDataAccess |
Wskazuje, czy funkcja wymaga dostępu do danych przechowywanych w katalogach systemowych lub w tabelach systemu wirtualnego SQL Server. (Odziedziczone po SqlFunctionAttribute) |
TableDefinition |
Ciąg reprezentujący definicję tabeli wyników, jeśli metoda jest używana jako funkcja wartości tabeli (TVF). (Odziedziczone po SqlFunctionAttribute) |