다음을 통해 공유


SqlMethodAttribute 클래스

정의

UDT(사용자 정의 형식)에 대한 메서드나 속성의 명확성과 데이터 액세스 속성을 나타냅니다. 특성의 속성은 SQL Server에 형식을 등록할 때 사용되는 실제 특성을 반영합니다.

public ref class SqlMethodAttribute sealed : Microsoft::Data::SqlClient::Server::SqlFunctionAttribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)]
[System.Serializable]
public sealed class SqlMethodAttribute : Microsoft.Data.SqlClient.Server.SqlFunctionAttribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)]
public sealed class SqlMethodAttribute : Microsoft.Data.SqlClient.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
상속
SqlMethodAttribute
특성

예제

다음 예제에서는 메서드가 형식의 null 인스턴스에서 호출되지 않고, 메서드가 형식의 상태를 변경하지 않으며, 메서드 호출에 매개 변수가 제공될 때 null 메서드가 호출되지 않음을 나타내는 UDT 메서드를 보여 줍니다.

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는 에서 상속되므로 SqlMethodAttribute 에서 및 TableDefinition 필드를 SqlFunctionAttribute상속합니다FillRowMethodName.SqlFunctionAttribute 테이블 반환 메서드를 작성할 수는 없지만 이러한 필드의 이름은 가능한 것으로 표시될 수 있습니다.

생성자

SqlMethodAttribute()

UDT(사용자 정의 형식)의 특성으로, UDT에 대한 메서드나 속성의 명확성과 데이터 액세스 속성을 나타내는 데 사용됩니다.

속성

DataAccess

함수가 SQL Server의 로컬 인스턴스에 저장된 사용자 데이터에 대한 액세스를 수행하는지 여부를 나타냅니다.

(다음에서 상속됨 SqlFunctionAttribute)
FillRowMethodName

테이블 반환 함수에 의해 반환된 테이블의 데이터 행을 채우는 데 사용되는 동일한 클래스의 메서드 이름입니다.

(다음에서 상속됨 SqlFunctionAttribute)
InvokeIfReceiverIsNull

SQL Server가 null 인스턴스에서 이 메서드를 호출해야 하는지 여부를 나타냅니다.

IsDeterministic

사용자 정의 함수가 명확한지 여부를 나타냅니다.

(다음에서 상속됨 SqlFunctionAttribute)
IsMutator

UDT(사용자 정의 형식)에 대한 메서드가 변경자(mutator)인지 여부를 나타냅니다.

IsPrecise

함수가 부동 소수점 연산과 같은 부정확한 계산을 수행하는지 여부를 나타냅니다.

(다음에서 상속됨 SqlFunctionAttribute)
Name

SQL Server에 함수를 등록해야 할 때 사용되는 이름입니다.

(다음에서 상속됨 SqlFunctionAttribute)
OnNullCall

메서드 호출에 null 입력 인수가 지정될 때 UDT(사용자 정의 형식)의 메서드가 호출되는지 여부를 나타냅니다.

SystemDataAccess

함수가 SQL Server의 시스템 카탈로그나 가상 시스템 테이블에 저장된 데이터에 액세스해야 하는지 여부를 나타냅니다.

(다음에서 상속됨 SqlFunctionAttribute)
TableDefinition

메서드가 TVF(테이블 반환 함수)로 사용되는 경우 결과의 테이블 정의를 나타내는 문자열입니다.

(다음에서 상속됨 SqlFunctionAttribute)

적용 대상