2009-02-01 14 views
7

¿Cómo se traduciría la siguiente sentencia sql a una consulta linq?¿Cómo llamar a una UDF en una consulta de linq a sql?

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

La UDF fGetText es bastante importante y utilizado a través de la base de código, por lo que necesita ser encapsulada (como un UDF o de otro modo, tal vez una expresión Linq).

Los viajes de ida y vuelta adicionales al servidor de la base de datos no son una opción. Solo debe haber una consulta, recuperando 3 campos.

Muchas gracias de antemano por su ayuda. Es muy apreciado.

Respuesta

3

Aquí está el artículo de MSDN:

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

Una nota de la misma página:

Aunque se puede llamar a funciones funciones en línea, definidos por el usuario que se incluido en una consulta cuya ejecución es diferida no se ejecuta hasta que se ejecuta la consulta . Para obtener más información sobre , consulte Introducción a las consultas de LINQ .

Cuando se llama a la misma función fuera una consulta, LINQ a SQL crea una consulta sencilla de la llamada al método expresión

También, echar un vistazo a este 13 min screencast.

2

Usted puede agregar UDF a un archivo LINQ a SQL DBML al igual que agrega tablas y sprocs.

Luego se convierten en métodos ejecutables en DataContext.

Google tiene muchos artículos, como this.

Cuestiones relacionadas