none
Cuando utilizar Entity framework ? RRS feed

  • Pregunta

  • Hola, soy nuevo en esto de los ORM y Entity framework en particular. Debo realizar una aplicacion de escritorio que tiene unas 12 tablas. Mi pregunta es que es lo que deberia tener en cuenta para usar Entity framework o realizar todo a pulmon, como ya lo he hecho antes. O sea cuales son las cosas que debo tener en cuenta para usar este ORM ?, la cantidad de tablas, las cantidad de desarrolladores, etc.

    Desde ya muchas gracias.

    domingo, 9 de octubre de 2011 20:49

Respuestas

  • Hola Andres, 

    No sé si es correcto, pero cuando dices "todo a pulmón" entiendo que te refieres a abrir una conexión directamente a la base de datos y lanzar una query en sql cada vez que necesitas acceder a algún valor almacenado en alguna tabla. Ante ese escenario no sólo EF, sino cualquier ORM sería una ventaja (ya que te desacoplaría bastante del motor), y los puedes usar independientemente de que desarrolles web/desktop o de que decidas estructurar tu aplicación en capas o no.

    EF en particular viene en tres "sabores" y puedes elegir aquel con el que te sientas más cómodo. 

    • Si ya tienes la BD física puedes usa DB-First para generar el modelo
    • Si no tienes la BD y estás acostumbrado a trabajar con herramientas del tipo ER-Studio podrías usar Model-First para "pintar" el modelo de datos y en base a él generar tanto la BD como las clases.
    • Si prefieres el código, puedes probar Code-First y escribir las clases y dejar que EF genere la BD para soportar las clases creadas.

    Te dejo un enlace a la documentación de msdn sobre el tema: http://msdn.microsoft.com/es-es/library/bb399572.aspx, allí podrás encontrar un par de ejemplos que seguramente te ayudarán a decidir si es lo que estás buscando para tu proyecto o no.

    Saludos.

    • Marcado como respuesta Andres Rocha C viernes, 14 de octubre de 2011 1:37
    martes, 11 de octubre de 2011 19:34
  • Hola.

    EF esta en su version 4.1 [eh oido de la 4.2 pero la verdad que no la he visto].

    Que te puedo decir, yo tambien dude antes de meterme con esta ORM, pero te digo mi amigo, es muy buena y te permite desarrollar software mas rapido :D, pues ahora te olvidas de tener que mapear a mano entidades a tu aplicacion, ya no manejas CONSULTAS EN STRINGS QUEMADOS que puedan generar excepciones... en fin son un gran numero de ventajas las que este te ofrece.

    Que necesitas antes de meterte con esto?? mm... aprende Linq!! y metele ganas,

    te dejo un post que hice una vez, te lo digo enserio, yo tambien dude en pasarme a EF pero me arrepiento de haberme demorado :(

    http://nicolocodev.wordpress.com/2011/07/13/entity-framework-dejando-a-nuestra-capa-de-acceso-a-datos/

    Saludos.


    Nicolás Herrera
    Bogotá - Colombia
    BLOG - Leader Group BogotaDotNet
    "Daría todo lo que sé, por la mitad de lo que ignoro." Rene Descartes
    • Marcado como respuesta Andres Rocha C viernes, 14 de octubre de 2011 1:37
    jueves, 13 de octubre de 2011 23:26

Todas las respuestas

  • Hola Andres, 

    No sé si es correcto, pero cuando dices "todo a pulmón" entiendo que te refieres a abrir una conexión directamente a la base de datos y lanzar una query en sql cada vez que necesitas acceder a algún valor almacenado en alguna tabla. Ante ese escenario no sólo EF, sino cualquier ORM sería una ventaja (ya que te desacoplaría bastante del motor), y los puedes usar independientemente de que desarrolles web/desktop o de que decidas estructurar tu aplicación en capas o no.

    EF en particular viene en tres "sabores" y puedes elegir aquel con el que te sientas más cómodo. 

    • Si ya tienes la BD física puedes usa DB-First para generar el modelo
    • Si no tienes la BD y estás acostumbrado a trabajar con herramientas del tipo ER-Studio podrías usar Model-First para "pintar" el modelo de datos y en base a él generar tanto la BD como las clases.
    • Si prefieres el código, puedes probar Code-First y escribir las clases y dejar que EF genere la BD para soportar las clases creadas.

    Te dejo un enlace a la documentación de msdn sobre el tema: http://msdn.microsoft.com/es-es/library/bb399572.aspx, allí podrás encontrar un par de ejemplos que seguramente te ayudarán a decidir si es lo que estás buscando para tu proyecto o no.

    Saludos.

    • Marcado como respuesta Andres Rocha C viernes, 14 de octubre de 2011 1:37
    martes, 11 de octubre de 2011 19:34
  • Hola.

    EF esta en su version 4.1 [eh oido de la 4.2 pero la verdad que no la he visto].

    Que te puedo decir, yo tambien dude antes de meterme con esta ORM, pero te digo mi amigo, es muy buena y te permite desarrollar software mas rapido :D, pues ahora te olvidas de tener que mapear a mano entidades a tu aplicacion, ya no manejas CONSULTAS EN STRINGS QUEMADOS que puedan generar excepciones... en fin son un gran numero de ventajas las que este te ofrece.

    Que necesitas antes de meterte con esto?? mm... aprende Linq!! y metele ganas,

    te dejo un post que hice una vez, te lo digo enserio, yo tambien dude en pasarme a EF pero me arrepiento de haberme demorado :(

    http://nicolocodev.wordpress.com/2011/07/13/entity-framework-dejando-a-nuestra-capa-de-acceso-a-datos/

    Saludos.


    Nicolás Herrera
    Bogotá - Colombia
    BLOG - Leader Group BogotaDotNet
    "Daría todo lo que sé, por la mitad de lo que ignoro." Rene Descartes
    • Marcado como respuesta Andres Rocha C viernes, 14 de octubre de 2011 1:37
    jueves, 13 de octubre de 2011 23:26