SqlMethodAttribute Класс

Определение

Определяет детерминизм и свойства доступа к данным для метода или свойства пользовательского типа. Свойства этого атрибута отражают физические характеристики, используемые при регистрации типа в 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
Наследование
SqlMethodAttribute
Атрибуты

Примеры

В следующем примере показан определяемый пользователем метод, который указывает, что метод не будет вызываться в экземплярах типа NULL, что метод не изменит состояние типа и что метод не будет вызываться при null указании параметров для вызова метода.

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));
    }

Комментарии

Для свойства SqlMethodAttribute следует использовать непосредственно в методе задания или метода получения.

SqlMethodAttribute наследует от SqlFunctionAttribute, поэтому SqlMethodAttribute наследует FillRowMethodName поля и TableDefinition от SqlFunctionAttribute. Обратите внимание, что невозможно написать метод с табличным значением, хотя имена этих полей могут предполагать, что это возможно.

Конструкторы

SqlMethodAttribute()

Атрибут пользовательского типа, определяющий детерминизм и свойства доступа к данным для метода или свойства этого типа.

Свойства

DataAccess

Показывает, предусматривает ли функция доступ к пользовательским данным, хранящимся в локальном экземпляре SQL Server.

(Унаследовано от SqlFunctionAttribute)
FillRowMethodName

Имя метода в том же классе, который используется для заполнения строки данных в таблице, возвращаемой функцией с табличным значением.

(Унаследовано от SqlFunctionAttribute)
InvokeIfReceiverIsNull

Указывает, должен ли SQL Server вызывать метод для экземпляров со значением null.

IsDeterministic

Показывает, детерминирована ли пользовательская функция.

(Унаследовано от SqlFunctionAttribute)
IsMutator

Показывает, является ли метод пользовательского типа мутатором.

IsPrecise

Указывает, содержит ли функция вычисления с потерей точности (например, операции с плавающей запятой).

(Унаследовано от SqlFunctionAttribute)
Name

Имя, под которым функция должна быть зарегистрирована в SQL Server.

(Унаследовано от SqlFunctionAttribute)
OnNullCall

Указывает, вызывается ли метод для пользовательского типа, когда в вызове метода указаны входные аргументы null.

SystemDataAccess

Показывает, требуется ли функции доступ к данным, хранящимся в системных каталогах или виртуальных системных таблицах SQL Server.

(Унаследовано от SqlFunctionAttribute)
TableDefinition

Строка, представляющая определение таблицы результатов, если метод используется в качестве функции с табличным значением (TVF).

(Унаследовано от SqlFunctionAttribute)

Применяется к