none
Tecnologia de Acceso a Datos en MVC RRS feed

  • Pregunta

  • Buenas,

    Para soluciones MVC que se recomienda o es quizas mejor solucion tecnologia (ADO.NET, Linq, Entity Framework) para la capa de datos con acceso a SQL Server?.

    Salu2.

    martes, 23 de octubre de 2012 20:19

Todas las respuestas

  • Pues ADO.net es la única tecnología en .net que conozco que puede acceder a datos de SQL Server.  Seguramente LINQ y EF utilizan ADO.net internamente para realizar las distintas operaciones.

    Dejando ya ese punto claro, le adelanto que cualquiera sirve.  De hecho yo uso una hecha completamente por mí para así tener control total y absoluto de todos los detalles, incluyendo el cache de datos a nivel de capa de datos con exposición de configuración a las capas superiores.  Es la mejor forma para mi trabajo pues mis proyectos son complejos y las soluciones enlatadas siempre terminan dándome uno o más dolores de cabeza.

    Si visita http://www.asp.net/mvc verá una serie de vídeos introductorios y excelentes acerca de MVC3 y Razor.  El ejemplo desarrollado a través de estos vídeos usan EF.  Podría comenzar por ahí y ver cómo le va.  Tal vez EF satisface todas sus necesidades.  EF ha progresado bastante.  Seguramente reconsideraré el uso de EF en su próximo ciclo.


    Jose R. MCP
    Code Samples

    martes, 23 de octubre de 2012 20:35
  • Buenas! Como dice @webJose ADO.NET es la única tecnología de acceso a datos real dentro de .NET. Aunque se puede usar ADO gracias a la interoperabilidad con COM eso no tiene ningún sentido.

    Entity Framework y LINQ usan "por debajo" ADO.NET, al igual que cualquier otro ORM como pueda ser NHibernate.

    ¿Cual recomendar? Pues bueno, primero decirte que debes aprender ADO.NET. Meterse con un ORM sin entender la tecnología subyacente que hay por debajo es muy, muy peligroso.

    Y luego sobre cual usar, mi consejo es que depende de cada caso, pero sin conocer nada más me atrevería a recomendarte Entity Framework. De todos modos como todos los ORM, EF tiene un "proceso de aprendizaje" bastante costoso, pero una vez aprendido vale mucho la pena (lo  mismo ocurre con  NHibernate).

    Al respecto de ASP.NET MVC, uses lo que uses (ADO.NET puro, EF, LINQ, NHibernate, ...) le da exactamente igual.

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis

    miércoles, 24 de octubre de 2012 11:49
  • Buenas! Como dice @webJose ADO.NET es la única tecnología de acceso a datos real dentro de .NET. Aunque se puede usar ADO gracias a la interoperabilidad con COM eso no tiene ningún sentido.

    Entity Framework y LINQ usan "por debajo" ADO.NET, al igual que cualquier otro ORM como pueda ser NHibernate.

    ¿Cual recomendar? Pues bueno, primero decirte que debes aprender ADO.NET. Meterse con un ORM sin entender la tecnología subyacente que hay por debajo es muy, muy peligroso.

    Y luego sobre cual usar, mi consejo es que depende de cada caso, pero sin conocer nada más me atrevería a recomendarte Entity Framework. De todos modos como todos los ORM, EF tiene un "proceso de aprendizaje" bastante costoso, pero una vez aprendido vale mucho la pena (lo  mismo ocurre con  NHibernate).

    Al respecto de ASP.NET MVC, uses lo que uses (ADO.NET puro, EF, LINQ, NHibernate, ...) le da exactamente igual.

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis

    Ok, terminan recomendando el uso de Entity Framework, como punto negativo seria el tiempo del proceso de aprendizaje, cuales serian los puntos positivos?.

    Salu2.

    miércoles, 14 de noviembre de 2012 15:40
  • Pues siéndole muy sincero, nunca he usado EF.  En mis proyectos siempre tengo algún requerimiento que no puedo satisfacer con EF o con NHibernate y total termino usando mi propia capa de datos.  He pasado por unas 3 versiones y a estas alturas pues estoy bastante cómodo con mi propio framework para capa de datos, así que no diviso EF en mi futuro cercano.

    Jose R. MCP
    Code Samples

    miércoles, 14 de noviembre de 2012 15:50