SqlMethodAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Označuje determinismus a vlastnosti přístupu k datům metody nebo vlastnosti u uživatelem definovaného typu (UDT). Vlastnosti atributu odrážejí fyzické vlastnosti, které se používají při registraci typu pomocí 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
- Dědičnost
- Atributy
Příklady
Následující příklad ukazuje metodu UDT, která je přiřazena k označení, že metoda nebude vyvolána na instancích typu null, že metoda nezmění stav typu a že metoda nebude volána, když null
jsou parametry dodány vyvolání metody.
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));
}
Poznámky
SqlMethodAttribute Vlastnost by měla být použita na setter nebo getter přímo.
SqlMethodAttributedědí z objektu SqlFunctionAttribute, takže SqlMethodAttribute dědí FillRowMethodName
pole a z .SqlFunctionAttributeTableDefinition
Všimněte si, že není možné napsat metodu vracející tabulku, i když názvy těchto polí mohou naznačovat, že je to možné.
Konstruktory
SqlMethodAttribute() |
Atribut uživatelem definovaného typu (UDT), který se používá k označení determinismu a vlastností přístupu k datům metody nebo vlastnosti UDT. |
Vlastnosti
DataAccess |
Určuje, jestli funkce zahrnuje přístup k uživatelským datům uloženým v místní instanci SQL Server. (Zděděno od SqlFunctionAttribute) |
FillRowMethodName |
Název metody ve stejné třídě, která se používá k vyplnění řádku dat v tabulce vrácené funkcí vracející tabulku. (Zděděno od SqlFunctionAttribute) |
InvokeIfReceiverIsNull |
Určuje, zda SQL Server vyvolat metodu na instancích s hodnotou null. |
IsDeterministic |
Určuje, zda je uživatelem definovaná funkce deterministická. (Zděděno od SqlFunctionAttribute) |
IsMutator |
Určuje, zda je metoda typu definovaného uživatelem (UDT) mutátorem. |
IsPrecise |
Určuje, jestli funkce zahrnuje nepřesné výpočty, jako jsou operace s plovoucí desetinou čárkou. (Zděděno od SqlFunctionAttribute) |
Name |
Název, pod kterým má být funkce zaregistrována v SQL Server. (Zděděno od SqlFunctionAttribute) |
OnNullCall |
Určuje, zda je volána metoda u uživatelem definovaného typu (UDT) při |
SystemDataAccess |
Určuje, jestli funkce vyžaduje přístup k datům uloženým v systémových katalogech nebo virtuálních systémových tabulkách SQL Server. (Zděděno od SqlFunctionAttribute) |
TableDefinition |
Řetězec, který představuje definici tabulky výsledků, pokud se metoda používá jako funkce TVF (Table-Valued Function). (Zděděno od SqlFunctionAttribute) |