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
- Наследование
- Атрибуты
Примеры
В следующем примере показан определяемый пользователем метод, который указывает, что метод не будет вызываться в экземплярах типа 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 |
Указывает, вызывается ли метод для пользовательского типа, когда в вызове метода указаны входные аргументы |
SystemDataAccess |
Показывает, требуется ли функции доступ к данным, хранящимся в системных каталогах или виртуальных системных таблицах SQL Server. (Унаследовано от SqlFunctionAttribute) |
TableDefinition |
Строка, представляющая определение таблицы результатов, если метод используется в качестве функции с табличным значением (TVF). (Унаследовано от SqlFunctionAttribute) |