Udostępnij za pośrednictwem


SqlMethodAttribute Klasa

Definicja

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::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
Dziedziczenie
SqlMethodAttribute
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 null argumenty wejściowe są określone w wywołaniu metody.

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)

Dotyczy