SqlMethodAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示使用者定義型別 (UDT) 之方法或屬性的決定機制和資料存取屬性。 該屬性 (Attribute) 上的屬性 (Property) 反映使用 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 會FillRowMethodName
從 SqlFunctionAttribute繼承和 TableDefinition
欄位。 請注意,您無法撰寫資料表值方法,雖然這些欄位的名稱可能表示可能。
建構函式
SqlMethodAttribute() |
使用者定義型別 (UDT) 上的屬性 (Attribute),用於表示 UDT 之方法或屬性 (Property) 的決定機制和資料存取屬性 (Property)。 |
屬性
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) |