EF 6: Ejemplos de operaciones de migracion

Tal y como hicimos en la entrega anterior vamos a ir poniendo ejemplos completos de algunos de los puntos de extensibilidad que tenemos en Entity Framework 6. En esta ocasión hablaremos de operaciones de migración, algo que ya comentamos en alguna entrada anterior, como esta. Tal y como explicamos en su momento, esto nos permite cubrir de forma personalizada con operaciones que no tengamos out of box.

Como en la entrada anterior, el código se puede descargar desde:

https://github.com/unaizorrilla/ef.contrib

 

Creación y borrado de vistas

 

A pesar de que esto suele ser habitual, estas opciones no las tenemos por defecto como operaciones de migración, por lo que son unos buenos candidatos de ejemplo. A continuación podemos ver el código de la operación CreateViewOperation.

 

La operación de borrado es también bastante sencilla:

 

Bien, ahora que ya tenemos creadas las operaciones solamente queda registrarlas en nuestro generador, que crearemos para darle soporte, tal y como se ve:

 

Si observa, hay un pequeño truco para no hacer “feas” conversiones de nuestras operaciones y ejecutar código en función de la que sea, y consiste en utilizar el tipo dynamic, gracias al cual podremos redirigir al generador de la operación que necesitemos…

 

Para finalizar, ahora que tenemos nuestras operaciones y nuestro nuevo generador, solamente nos queda registrarlo…

Como se imaginará hay muchas más operaciones que podríamos construir para nuestras migraciones, cosas como el manejo de permisos, collation son algunas de las otras operaciones que tiene en el código de ejemplo que se hace referencia al principio del post.

 

Saludos

unai

EF 6: Un ejemplo de pluralizador en castellano

Desde hace ya un tiempo vengo recibiendo bastantes correos con respecto a una de las nuevas características de EF 6 referida al sistema de pluralización. Aunque ya en este mismo blog he hablado un poco sobre esta característica la verdad es que no había enseñado un ejemplo completo. Por eso, intentaré  publicar en este blog ejemplos completos sobre algunas piezas de las que hemos hablado en EF 6 pero de las que no hemos dado ejemplo completos, para este y para los siguientes posts, el código lo puede descargar desde GitHub:

 

https://github.com/unaizorrilla/ef.contrib.git

 

Para la creación del sistema de pluralización en castellano intenté no reinventar la rueda y ver como otros hacían este trabajo, como por ejemplo Andrew Peters. @anpete –  developer de  ADO.NET EF, con su Inflector .NET. Para las reglas de pluralización en castellano uno puede ver los diferentes documentos que hay en internet sobre esto, basta abrir Bing y hacer una pequeña búsqueda para ver cantidad de enlaces. Después de leer sobre estas reglas un posible esbozo del pluralizador podría ser el siguiente, por supuesto el código tiene sus correspondientes tests que si os interesa podríais ayudar a mejorar incluyendo nuevos casos de prueba, tanto para los elementos irregulares como para los regulares.

 

 

Bien, ahora que ya tenemos el pluralizador creado, para establecerlo lo tenemos tan fácil como usar nuestro DbConfiguration.