none
ASP MVC migrar a EF RRS feed

  • Pregunta

  • Hola a todos, tengo una duda con respecto al trabajo entre EF y ASP MVC,

    Esta bien llevar los objetos de la capa de datos (objetos generados por EF) a la vista?

    En una actualización o borrado de un registro si o si se debe buscar el registro primero, porque en ese caso primero va a tener que tirar un select a la base de datos antes del update o delete, yo estoy acostumbrado a trabajar con MySqlCommand, que solo me hace falta tener el id del registro para actualizarlo o borrarlo, creo que al migrar a EF este tipo de procesos va a demorar mas tiempo.

    Otra consulta, para presentar datos paginados, yo estoy usando SQL_CALC_FOUND_ROWS (mysql), para obtener la cantidad total de registros de una consulta, en el caso de EF, como debería hacer para poder utilizar lo mismo (para no tener que utilizar un count que a lo que tengo entendido es mas costoso).

    En cualquier caso es aconsejable migrar de sentencias SQL con MySqlCommand a EntityFramework? Yo estoy muy conforme con la performance de MySqlCommand, pero es mucho el tiempo que te consume obtener un simple CRUD. 

    Desde ya muchas gracias.


    D1eg0


    • Editado D1eg0 jueves, 27 de junio de 2013 14:17
    jueves, 27 de junio de 2013 14:14

Respuestas

  • Esta bien llevar los objetos de la capa de datos (objetos generados por EF) a la vista?

    estas usando EF Code First? sino lo usas lo recomiendo

    en realidad depende el modelo que define EF se podria tomar como parte del modelo, por lo que seria practico usarlo directamente en el vista

    aunque si quieres ser purista en la implementacion habria que separarlo, ya que una clase del model de mvc podrias agregar atributos de dataannotations que podrian afectar la persistencia

    en resumen no esta mal si los usas, pero todo depende de que tanto quieres respetar la arquitectura

    recuerda que tambien se puede usar AutoMapper para convertir una entidad de EF a una del modelo de mvc

    En una actualización o borrado de un registro si o si se debe buscar el registro primero

    si usas EF esto no es necesario, con poner el id en una entidad y attachar al modelo esto alcanza para lanzar la accion de delete

    la actualizacion si tienes la entidad con los datos cargados tambien podrias realizar un attach sin necesidad de recuperarla con una consulta previa

    para obtener la cantidad total de registros de una consulta, en el caso de EF, como debería hacer para poder utilizar lo mismo

    puedes armar una query de linq que use el Count() para conocer la cantidad de registros que se recuperar que la query

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta D1eg0 viernes, 28 de junio de 2013 11:14
    jueves, 27 de junio de 2013 14:58

Todas las respuestas

  • Esta bien llevar los objetos de la capa de datos (objetos generados por EF) a la vista?

    estas usando EF Code First? sino lo usas lo recomiendo

    en realidad depende el modelo que define EF se podria tomar como parte del modelo, por lo que seria practico usarlo directamente en el vista

    aunque si quieres ser purista en la implementacion habria que separarlo, ya que una clase del model de mvc podrias agregar atributos de dataannotations que podrian afectar la persistencia

    en resumen no esta mal si los usas, pero todo depende de que tanto quieres respetar la arquitectura

    recuerda que tambien se puede usar AutoMapper para convertir una entidad de EF a una del modelo de mvc

    En una actualización o borrado de un registro si o si se debe buscar el registro primero

    si usas EF esto no es necesario, con poner el id en una entidad y attachar al modelo esto alcanza para lanzar la accion de delete

    la actualizacion si tienes la entidad con los datos cargados tambien podrias realizar un attach sin necesidad de recuperarla con una consulta previa

    para obtener la cantidad total de registros de una consulta, en el caso de EF, como debería hacer para poder utilizar lo mismo

    puedes armar una query de linq que use el Count() para conocer la cantidad de registros que se recuperar que la query

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta D1eg0 viernes, 28 de junio de 2013 11:14
    jueves, 27 de junio de 2013 14:58
  • Muchas gracias Leandro.

    Saludos.


    D1eg0

    viernes, 28 de junio de 2013 11:14