SqlMethodAttribute 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指示用户定义类型 (UDT) 的方法或属性的确定性和数据访问性质。 该特性的属性反映了向 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
- 继承
- 属性
示例
以下示例演示了一个 UDT 方法,该方法被特性化以指示该方法不会在类型的 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 应直接在 setter 或 getter 上使用 。
SqlMethodAttribute继承自 ,SqlFunctionAttribute因此SqlMethodAttribute从 SqlFunctionAttribute继承 FillRowMethodName
和 TableDefinition
字段。 请注意,无法编写表值方法,尽管这些字段的名称可能表明有可能。
构造函数
SqlMethodAttribute() |
用户定义类型 (UDT) 的特性,用于指示 UDT 的方法或属性的确定性和数据访问性质。 |
属性
DataAccess |
指示函数是否需要访问存储在 SQL Server 的本地实例中的用户数据。 (继承自 SqlFunctionAttribute) |
FillRowMethodName |
同一类中的方法名称,该类用于填充表值函数返回的表中的一行数据。 (继承自 SqlFunctionAttribute) |
InvokeIfReceiverIsNull |
指示 SQL Server 是否应在 null 实例上调用此方法。 |
IsDeterministic |
指示用户定义的函数是否是确定性的。 (继承自 SqlFunctionAttribute) |
IsMutator |
指示用户定义类型 (UDT) 的方法是否为转变器。 |
IsPrecise |
指示函数是否涉及不精确的计算,如浮点运算。 (继承自 SqlFunctionAttribute) |
Name |
函数在 SQL Server 中注册时所使用的名称。 (继承自 SqlFunctionAttribute) |
OnNullCall |
在方法调用中使用 |
SystemDataAccess |
指示函数是否需要访问存储在 SQL Server 的系统目录或虚拟系统表中的数据。 (继承自 SqlFunctionAttribute) |
TableDefinition |
如果方法用作表值函数 (TVF),则为一个字符串,该字符串表示结果的表定义。 (继承自 SqlFunctionAttribute) |