2009-02-01 7 views
7

In che modo la seguente istruzione sql tradurrebbe in una query linq?Come chiamare una UDF in una query da linq a sql?

select ID, 
     Price, 
     dbo.fGetText(DescriptionID, defaultLanguage, currentUserLanguage) 
from Products 

UDF fGetText è abbastanza sostanziale e utilizzato in tutto il codice di base, per cui deve essere incapsulato (come UDF o altrimenti, forse un'espressione Linq).

I viaggi di andata e ritorno al server di database non sono un'opzione. Ci dovrebbe essere solo una query, recuperando 3 campi.

Molte grazie in anticipo per il vostro aiuto. È molto apprezzato

risposta

3

Ecco l'articolo di MSDN:

How to: Call User-Defined Functions Inline (LINQ to SQL)

Una nota dalla stessa pagina:

Anche se è possibile richiamare le funzioni definite dall'utente funzioni inline, che sono incluse in un la query la cui esecuzione è differita non viene eseguita finché non viene eseguita la query . Per ulteriori informazioni su , vedere Introduzione alle query LINQ .

Quando si chiama la stessa funzione al di fuori di una query, LINQ to SQL crea una semplice query dalla chiamata al metodo espressione

Inoltre, date un'occhiata a questo 13 min screencast.

2

È può aggiungere UDF a un file LINQ to DBML SQL proprio come si aggiungono tabelle e sprocs.

Quindi diventano metodi eseguibili sul DataContext.

Google ha molti articoli, come this.

Problemi correlati