EF 5 y Table Value Functions

El soporte de TVF ha sido uno de los elementos más demandados dentro de los foros y listas de insiders al grupo de ADO.NET. A pesar de que teníamos en EDM pequeños trucos con lo que podríamos hacer funcionar esta característica en 4.0, aunque seguro que todos los que habéis jugado con EDM sabéis que no es muy buena idea andar tocando a mano el XML subyacente, por no decir que es de lo más viscoso con lo que puedas encontrarte, el convertir a estas UDF’s en ciudadanos de primer nivel parecía algo necesario que por suerte tenemos ya disponible de forma idéntica a como usamos procedimientos almacenados en la actualidad. Por supuesto, no voy a hacer una introducción a las TVF’s, seguro que ya hay mucho contenido en internet sobre el asunto, por lo que lo único que diremos es que a grosso modo los TVF aúnan lo bueno de las vistas, la composición, y lo bueno de los procedimientos, que pueden contener código procedural, permitiéndonos ya sobre EF mezclarlas con L2E y ESQL, que es lo que a nosotros nos dará más valor todavía. Con el fin de mostrar un pequeño ejemplo partiremos de una sencilla tabla en la que tenemos un índice full text ,el script de esta tabla es el siguiente:

 


Acto seguido, crearemos una también sencilla TVF que haga una query  usando full text sobre la tabla anterior, por ejemplo, la siguiente udf.

 


 

 

Una vez hecho el trabajo, como comentábamos anteriormente, ya podemos mapear esta TVF dentro de nuestros modelos EDM igual que un procedimiento almacenado, para esto, sino sabe como, le recomiendo seguir la siguiente guía, y utilizarlos de diversas maneras, aunque mezclándolas con nuestras L2E es como se ve mejor el porque de la importancia de esta mejora.

A continuación se puede ver el uso de la función anterior:

 


 

Que produciría la siguiente traza TSQL

 


 

 

Bueno, aquí termina esta entrada…

 

Saludos

Unai

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *