Bagikan melalui


Cara: Memanggil Fungsi Sebaris yang Ditentukan Pengguna

Meskipun Anda dapat memanggil fungsi sebaris yang ditentukan pengguna, fungsi yang disertakan dalam kueri yang eksekusinya ditangguhkan tidak dijalankan sampai kueri dijalankan. Untuk informasi selengkapnya, lihat Pengantar Kueri LINQ (C#).

Saat Anda memanggil fungsi yang sama di luar kueri, LINQ untuk SQL membuat kueri sederhana dari ekspresi panggilan metode. Berikut ini adalah sintaks SQL (parameter @p0 terikat ke konstanta yang diteruskan):

SELECT dbo.ReverseCustName(@p0)  

LINQ untuk SQL membuat hal berikut:

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

Contoh

Dalam LINQ berikut untuk SQL kueri, Anda bisa melihat panggilan sebaris ke metode fungsi yang ditentukan pengguna yang dihasilkan ReverseCustName. Fungsi tidak segera dijalankan karena eksekusi kueri ditangguhkan. SQL yang dibuat untuk kueri ini diterjemahkan ke panggilan ke fungsi yang ditentukan pengguna dalam database (lihat kode SQL mengikuti kueri).

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]  

Lihat juga