Megosztás a következőn keresztül:


Útmutató: Skaláris értékű, felhasználó által definiált függvények használata

Az osztályban definiált ügyfélmetódusokat hozzárendelheti egy felhasználó által definiált függvényhez az FunctionAttribute attribútum használatával. Vegye figyelembe, hogy a metódus törzse létrehoz egy kifejezést, amely rögzíti a metódushívás szándékát, és átadja a kifejezést a fordításhoz és a DataContext végrehajtáshoz.

Feljegyzés

A közvetlen végrehajtás csak akkor történik meg, ha a függvényt egy lekérdezésen kívül hívják meg. További információ : Útmutató: Felhasználó által definiált függvények inline meghívása.

Példa

Az alábbi SQL-kód egy skaláris értékű, felhasználó által definiált függvényt ReverseCustName()mutat be.

CREATE FUNCTION ReverseCustName(@string varchar(100))  
RETURNS varchar(100)  
AS  
BEGIN  
    DECLARE @custName varchar(100)  
    -- Implementation left as exercise for users.  
    RETURN @custName  
END  

Ehhez a kódhoz az alábbihoz hasonló ügyfélmetódusokat képezne le:

[Function(Name = "dbo.ReverseCustName", IsComposable = true)]
[return: Parameter(DbType = "VarChar(100)")]
public string ReverseCustName([Parameter(Name = "string",
    DbType = "VarChar(100)")] string @string)
{
    return ((string)(this.ExecuteMethodCall(this,
        ((MethodInfo)(MethodInfo.GetCurrentMethod())),
        @string).ReturnValue));
}
<FunctionAttribute(Name:="dbo.ReverseCustName", _
IsComposable:=True)> _
Public Function ReverseCustName(<Parameter(Name:="string", _
DbType:="VarChar(100)")> ByVal [string] As String) As _
<Parameter(DbType:="VarChar(100)")> String
    Return CType(Me.ExecuteMethodCall(Me, _
        CType(MethodInfo.GetCurrentMethod, MethodInfo), _
        [string]).ReturnValue, String)
End Function

Lásd még