Solución:
ADO.NET proporciona acceso constante a fuentes de datos como SQL Server y XML, y a fuentes de datos expuestas a través de OLE DB y ODBC. Las aplicaciones de consumo de intercambio de datos pueden usar ADO.NET para conectarse a estas fuentes de datos y recuperar, manejar y actualizar los datos que contienen.
ADO.NET separa el acceso a los datos de la manipulación de datos en componentes discretos que se pueden usar por separado o en conjunto. ADO.NET incluye proveedores de datos de .NET Framework para conectarse a una base de datos, ejecutar comandos y recuperar resultados. Esos resultados se procesan directamente, se colocan en un objeto ADO.NET DataSet para exponerlos al usuario de manera ad hoc, se combinan con datos de múltiples fuentes o se pasan de un nivel a otro. El objeto DataSet también se puede usar independientemente de un proveedor de datos de .NET Framework para administrar datos locales a la aplicación o de XML.
ADO.NET es una capa que le permite conectarse a la base de datos y modificarla mediante conexiones, comandos y parámetros SQL. ADO.NET MSDN
El mapeo relacional de objetos (ORM, O / RM y herramienta de mapeo O / R) en ciencias de la computación es una técnica de programación para convertir datos entre sistemas de tipos incompatibles en lenguajes de programación orientados a objetos. Esto crea, en efecto, una “base de datos de objetos virtuales” que se puede utilizar desde dentro del lenguaje de programación. Hay paquetes tanto gratuitos como comerciales disponibles que realizan mapeo relacional de objetos, aunque algunos programadores optan por construir sus propias herramientas ORM.
Entity Framework
y NHibernate
son ORM. Significa que usted no opera mediante conexiones, comandos, parámetros SQL – ORM lo hace por usted y le permite mapear la estructura de su base de datos de manera OOP: puede agregar, leer, actualizar, eliminar registros en su base de datos usando objetos en C #. Solo necesita mapear su objeto a DB correctamente. Entity Framework
está construido sobre ADO.NET y usa ADO.NET en su interior. Las sentencias SQL son generadas por ORM. ORM
Generalmente, el acceso a la base de datos sin ORM es más rápido, pero debe proporcionar más líneas de código. Si desea operar su base de datos de manera orientada a objetos y escribir un código más legible, debe elegir ORM. Depende de sus propósitos sobre qué elegir.
Hay Micro ORM (Dapper, BLToolkit) que le permiten escribir consultas SQL y asignar parámetros a las propiedades del objeto. Los micro ORM, en general, tienen un mejor rendimiento que los ORM completos, pero ADO.NET es aún más rápido.
Además, hay algunas preguntas y respuestas sobre StackOverflow: EF vs ADO.NET
- A lo largo del camino, he aprendido que los desarrolladores odian trabajar con
DataSets
yDataReaders
-
.NETO La plataforma define una serie de espacios de nombres que le permiten interactuar con sistemas de bases de datos relacionales. En conjunto, estos espacios de nombres se conocen como
ADO.NET.
-
ORM representa
Object-Relational Mapper
que consiste en mapear un objeto con un mundo relacional. Como su nombre lo sugierebuilds a relation / maps objects (model) to database objects(tables).
-
ADO.NET
era la forma tradicional de conectar su aplicación a una base de datos y le dio al desarrollador el control total sobre las operaciones de la base de datos, mientras queORM
está construido sobreADO.NET
y usosADO.NET
implícitamente. - En resumen, usando un ORM como NHibernate, Entity Framework simplifica la vida donde el mapeo de objetos (modelos) se realiza internamente por el
ORM.
- Cuando usa un
ORM
no todo está en tus manos ya que todas las consultas son generadas por elORM
sí mismo. Ahora no sabemos si esas consultas son optimizado o no.
En escenarios donde el rendimiento de su aplicación es una preocupación principal y absolutamente crítica O en escenarios en los que sabe que su aplicación crecerá enormemente en el futuro, es aconsejable utilizar
ADO.NET
en vez deEntity Framework
porque hace que su aplicación sea pesada.
- La solución a esto fue
Micro ORM's
igual que Dapper, BLKit de herramientas. Estos proporcionan la esencia de lo que quieren los desarrolladores: una forma fácil de asignar las operaciones de la base de datos a clases fuertemente tipadas. - La compatibilidad con LINQ en algunos lo hace aún mejor, pero la principal ventaja de algunos de estos Micro-ORM es su
raw speed.
Palabras de la sabiduría:
-
Dapper
solo hace mapeo pero necesitas codificar mucho,EF
hace mucho más en la parte superior y no solo en el mapeo. Entonces EF será lento. - También puedo decir que puro
ADO.NET
es más rápido queDapper
,OLEDB
es más rápido queADO.NET
yODBC
puede ser más rápido queOLEDB.
- Entonces, si me tomo en serio el rendimiento, probablemente evitar alguna
ORM.