Sdílet prostřednictvím


SqlMethodAttribute Třída

Definice

Označuje determinismus a vlastnosti přístupu k datům metody nebo vlastnosti u uživatelem definovaného typu (UDT). Vlastnosti atributu odrážejí fyzické charakteristiky, které se používají při registraci typu s 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
Dědičnost
SqlMethodAttribute
Atributy

Příklady

Následující příklad ukazuje metodu UDT, která je přiřazena k označení, že metoda nebude vyvolána na instancích typu null, že metoda nezmění stav typu a že metoda nebude volána při null zadání parametrů pro vyvolání 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));
    }

Poznámky

SqlMethodAttribute Vlastnost by se měla použít přímo na setteru nebo getteru.

SqlMethodAttribute dědí z SqlFunctionAttribute, takže SqlMethodAttribute dědí FillRowMethodName pole a TableDefinition z SqlFunctionAttribute. Všimněte si, že není možné napsat metodu s hodnotou tabulky, i když názvy těchto polí mohou naznačovat, že je to možné.

Konstruktory

SqlMethodAttribute()

Atribut u uživatelem definovaného typu (UDT), který se používá k označení determinismu a vlastností přístupu k datům metody nebo vlastnosti UDT.

Vlastnosti

DataAccess

Označuje, jestli funkce zahrnuje přístup k uživatelským datům uloženým v místní instanci SQL Server.

(Zděděno od SqlFunctionAttribute)
FillRowMethodName

Název metody ve stejné třídě, která se používá k vyplnění řádku dat v tabulce vrácené funkcí s hodnotou tabulky.

(Zděděno od SqlFunctionAttribute)
InvokeIfReceiverIsNull

Určuje, zda SQL Server má vyvolat metodu na instancích s hodnotou null.

IsDeterministic

Určuje, zda je uživatelem definovaná funkce deterministická.

(Zděděno od SqlFunctionAttribute)
IsMutator

Určuje, zda je metoda typu definovaného uživatelem (UDT) mutátorem.

IsPrecise

Označuje, zda funkce zahrnuje nepřesné výpočty, jako jsou operace s plovoucí desetinou čárkou.

(Zděděno od SqlFunctionAttribute)
Name

Název, pod kterým má být funkce zaregistrována v SQL Server.

(Zděděno od SqlFunctionAttribute)
OnNullCall

Určuje, zda je metoda u uživatelem definovaného typu (UDT) volána při null zadání vstupních argumentů při volání metody.

SystemDataAccess

Označuje, jestli funkce vyžaduje přístup k datům uloženým v systémových katalogech nebo virtuálních systémových tabulkách SQL Server.

(Zděděno od SqlFunctionAttribute)
TableDefinition

Řetězec, který představuje definici tabulky výsledků, pokud se metoda používá jako funkce TVF (table-valued function).

(Zděděno od SqlFunctionAttribute)

Platí pro