Share via


SqlMethodAttribute Kelas

Definisi

Menunjukkan determinisme dan properti akses data dari metode atau properti pada jenis yang ditentukan pengguna (UDT). Properti pada atribut mencerminkan karakteristik fisik yang digunakan saat jenis terdaftar dengan 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
Warisan
SqlMethodAttribute
Atribut

Contoh

Contoh berikut menunjukkan metode UDT yang dikaitkan untuk menunjukkan bahwa metode tidak akan dipanggil pada instans null dari jenis , bahwa metode tidak akan mengubah status jenis, dan bahwa metode tidak akan dipanggil ketika null parameter diberikan ke pemanggilan metode.

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));
    }

Keterangan

Untuk properti, SqlMethodAttribute harus digunakan pada setter atau getter secara langsung.

SqlMethodAttribute mewarisi dari SqlFunctionAttribute, sehingga SqlMethodAttribute mewarisi FillRowMethodName bidang dan TableDefinition dari SqlFunctionAttribute. Perhatikan bahwa tidak dimungkinkan untuk menulis metode bernilai tabel, meskipun nama-nama bidang ini mungkin menunjukkan bahwa itu mungkin.

Konstruktor

SqlMethodAttribute()

Atribut pada jenis yang ditentukan pengguna (UDT), digunakan untuk menunjukkan determinisme dan properti akses data metode atau properti pada UDT.

Properti

DataAccess

Menunjukkan apakah fungsi melibatkan akses ke data pengguna yang disimpan dalam instans lokal SQL Server.

(Diperoleh dari SqlFunctionAttribute)
FillRowMethodName

Nama metode di kelas yang sama yang digunakan untuk mengisi baris data dalam tabel yang dikembalikan oleh fungsi bernilai tabel.

(Diperoleh dari SqlFunctionAttribute)
InvokeIfReceiverIsNull

Menunjukkan apakah SQL Server harus memanggil metode pada instans null.

IsDeterministic

Menunjukkan apakah fungsi yang ditentukan pengguna bersifat deterministik.

(Diperoleh dari SqlFunctionAttribute)
IsMutator

Menunjukkan apakah metode pada jenis yang ditentukan pengguna (UDT) adalah mutator.

IsPrecise

Menunjukkan apakah fungsi melibatkan komputasi yang tidak tepat, seperti operasi floating point.

(Diperoleh dari SqlFunctionAttribute)
Name

Nama tempat fungsi harus didaftarkan di SQL Server.

(Diperoleh dari SqlFunctionAttribute)
OnNullCall

Menunjukkan apakah metode pada jenis yang ditentukan pengguna (UDT) dipanggil ketika null argumen input ditentukan dalam pemanggilan metode.

SystemDataAccess

Menunjukkan apakah fungsi memerlukan akses ke data yang disimpan dalam katalog sistem atau tabel sistem virtual SQL Server.

(Diperoleh dari SqlFunctionAttribute)
TableDefinition

String yang mewakili definisi tabel hasil, jika metode digunakan sebagai fungsi bernilai tabel (TVF).

(Diperoleh dari SqlFunctionAttribute)

Berlaku untuk