SqlMethodAttribute Класс

Определение

Определяет детерминизм и свойства доступа к данным для метода или свойства пользовательского типа.Indicates the determinism and data access properties of a method or property on a user-defined type (UDT). Свойства этого атрибута отражают физические характеристики, используемые при регистрации типа в SQL Server.The properties on the attribute reflect the physical characteristics that are used when the type is registered with SQL Server.

public ref class SqlMethodAttribute sealed : 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)]
public sealed class SqlMethodAttribute : Microsoft.SqlServer.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
Наследование
Атрибуты

Примеры

В следующем примере показан метод определяемого пользователем типа с атрибутом, указывающий, что метод не будет вызываться для экземпляров типа NULL, что метод не изменит состояние типа и не будет вызываться при null указании параметров для вызова метода.The following example shows a UDT method that is attributed to indicate that the method will not be invoked on null instances of the type, that the method will not change the state of the type, and that the method will not be called when null parameters are supplied to the method invocation.

// 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));
}
' Distance from Point to the specified x and y values method.
<SqlMethod(OnNullCall:=False, IsMutator:=False, InvokeIfReceiverIsNull:=False)> _
Public Function DistanceFromXY(ByVal ix As Int32, ByVal iy As Int32) _
    As Double

    Return Math.Sqrt(Math.Pow(ix - _x, 2.0) + Math.Pow(iy - _y, 2.0))

End Function

Комментарии

Для свойства свойство SqlMethodAttribute должно использоваться непосредственно в методе задания или в методе получения.For a property, the SqlMethodAttribute should be used on the setter or the getter directly.

SqlMethodAttribute наследует от класса SqlFunctionAttribute , поэтому SqlMethodAttribute наследует FillRowMethodName поля и TableDefinition из SqlFunctionAttribute .SqlMethodAttribute inherits from a SqlFunctionAttribute, so SqlMethodAttribute inherits the FillRowMethodName and TableDefinition fields from SqlFunctionAttribute. Обратите внимание, что невозможно написать метод, возвращающий табличное значение, хотя имена этих полей могут предлагаться, что это возможно.Note that it is not possible to write a table-valued method, although the names of these fields might suggest that it is possible.

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

SqlMethodAttribute()

Атрибут пользовательского типа, определяющий детерминизм и свойства доступа к данным для метода или свойства этого типа.An attribute on a user-defined type (UDT), used to indicate the determinism and data access properties of a method or a property on a UDT.

Свойства

DataAccess

Показывает, предусматривает ли функция доступ к пользовательским данным, хранящимся в локальном экземпляре SQL Server.Indicates whether the function involves access to user data stored in the local instance of SQL Server.

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

Имя метода в том же классе, который используется для заполнения строки данных в таблице, возвращаемой функцией с табличным значением.The name of a method in the same class which is used to fill a row of data in the table returned by the table-valued function.

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

Указывает, должен ли SQL Server вызывать метод для экземпляров со значением null.Indicates whether SQL Server should invoke the method on null instances.

IsDeterministic

Показывает, детерминирована ли пользовательская функция.Indicates whether the user-defined function is deterministic.

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

Показывает, является ли метод пользовательского типа мутатором.Indicates whether a method on a user-defined type (UDT) is a mutator.

IsPrecise

Указывает, содержит ли функция вычисления с потерей точности (например, операции с плавающей запятой).Indicates whether the function involves imprecise computations, such as floating point operations.

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

Имя, под которым функция должна быть зарегистрирована в SQL Server.The name under which the function should be registered in SQL Server.

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

Указывает, вызывается ли метод для пользовательского типа, когда в вызове метода указаны входные аргументы null.Indicates whether the method on a user-defined type (UDT) is called when null input arguments are specified in the method invocation.

SystemDataAccess

Показывает, требуется ли функции доступ к данным, хранящимся в системных каталогах или виртуальных системных таблицах SQL Server.Indicates whether the function requires access to data stored in the system catalogs or virtual system tables of SQL Server.

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

Строка, представляющая определение таблицы результатов, если метод используется в качестве функции с табличным значением (TVF).A string that represents the table definition of the results, if the method is used as a table-valued function (TVF).

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

В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

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

Методы

Equals(Object)

Возвращает значение, показывающее, равен ли экземпляр указанному объекту.Returns a value that indicates whether this instance is equal to a specified object.

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

Возвращает хэш-код данного экземпляра.Returns the hash code for this instance.

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

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

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

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Унаследовано от Attribute)
Match(Object)

При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

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

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

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

Явные реализации интерфейса

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.Maps a set of names to a corresponding set of dispatch identifiers.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.Provides access to properties and methods exposed by an object.

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

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