Aracılığıyla paylaş


Nasıl yapılır: Kullanıcı Tanımlı Satır İçi İşlevleri Çağırma

Kullanıcı tanımlı işlevleri satır içinde çağırabilirsiniz, ancak yürütmesi ertelenen bir sorguya dahil edilen işlevler sorgu yürütülene kadar yürütülemez. Daha fazla bilgi için bkz . LINQ Sorgularına Giriş (C#).

Sorgu dışında aynı işlevi çağırdığınızda, LINQ to SQL yöntem çağrısı ifadesinden basit bir sorgu oluşturur. Sql söz dizimi aşağıdadır (parametre @p0 geçirilen sabite bağlıdır):

SELECT dbo.ReverseCustName(@p0)  

LINQ to SQL aşağıdakileri oluşturur:

string str = db.ReverseCustName("LINQ to SQL");
Dim str As String = db.ReverseCustName("LINQ to SQL")

Örnek

Aşağıdaki LINQ to SQL sorgusunda, oluşturulan kullanıcı tanımlı işlev yöntemine ReverseCustNamesatır içi çağrı görebilirsiniz. Sorgu yürütme ertelendiğinden işlev hemen yürütülmedi. Bu sorgu için oluşturulan SQL, veritabanındaki kullanıcı tanımlı işleve yapılan bir çağrıya çevrilir (sorguyu izleyen SQL koduna bakın).

var custQuery =
    from cust in db.Customers
    select new {cust.ContactName, Title =
        db.ReverseCustName(cust.ContactTitle)};
Dim custQuery = _
    From cust In db.Customers _
    Select cust.ContactName, Title = _
    db.ReverseCustName(cust.ContactTitle)
SELECT [t0].[ContactName],  
    dbo.ReverseCustName([t0].[ContactTitle]) AS [Title]  
FROM [Customers] AS [t0]  

Ayrıca bkz.