Me gustaría entender en cuando algo que uno realmente necesita para pensar en el uso de Dapper. También me gustaría entender los Pros y los Contras de la comparación de Dapper Vs ADO.NET

InformationsquelleAutor Divya | 2016-06-22

1 Comentario

  1. 57

    Dapper es sólo una herramienta. Lo que hace es:

    • hacen que sea extremadamente fácil para parametrizar correctamente las consultas
    • hacen que sea extremadamente fácil para ejecutar consultas (escalares, de múltiples filas, multi-redes, y no de resultados)
    • hacen que sea extremadamente fácil para convertir los resultados en objetos
    • de manera muy eficiente y rápida

    Lo que no hacer es:

    • generar un modelo de clase para que
    • generar consultas para usted
    • un seguimiento de los objetos y sus cambios a lo que se puede llamar SubmitChanges() (o lo que sea)

    La cruda dapper biblioteca no ofrece CRUD características, pero el «contrib» paquete adicional hace de proporcionar servicios básicos de CRUD.

    Básicamente, no es un completo peso ORM, pero si sólo se desea ejecutar consultas sin tener que lucha un ORM, o pagar los gastos indirectos asociados con un ORM, es bastante grande. Si usted no sabe SQL, la materia prima de la biblioteca, probablemente no es para usted («contrib» debería de estar bien, a pesar de que), pero hay muchas personas que no sólo saber SQL, pero quieren estar en control de de SQL (en lugar de dejar que el ORM venir para arriba con algunas interpretación de su intención de que no ha sido optimizado, etc).

    Para resumir, las razones podrían ser:

    • desea excelente raw de la ejecución con un mínimo de gastos generales
    • desea mantener el control sobre su SQL
    • usted no desea o no necesita el objeto de seguimiento características de una grasa ORM

    Como para «vs ADO.NET»:

    • raw ADO.NET implica un mucho más código para escribir y un montón de borde-los casos para recordar acerca de (que apuesto ocupa internamente sin tener que preocuparse acerca de ellos)
    • pero no es en realidad más rápido – dapper hace un montón de meta-programación para almacenar y volver a utilizar estrategias una vez que se ha hecho lo que necesita para su consulta
    • si usted está utilizando el proveedor específico de funciones que no están disponibles en raw ADO.NET (por ejemplo, pasar/obtener SqlGeometry de datos), los que no son directamente estará disponible en dapper – tendría que implementar una interfaz para saber cómo manejar su situación, pero que no es difícil (nota de que la SqlGeometry ejemplo es manejado por un adicional de dapper biblioteca)
    • Otra diferencia, Apuesto hace que el uso de consultas con parámetros tan fácil que la gente se olvide de introducir errores de inyección SQL mediante la concatenación de las declaraciones y valores sin procesar.
    • bueno, yo estaba incluido en el «correctamente» en la primera viñeta 🙂
    • No verificación del tipo de bien.
    • así que quieres decir es que dapper nunca va a ser más rápido que ado.net en circunstancias normales ?
    • no puede ser más rápido que el raw de la API que se encuentra en la parte superior de; puede, sin embargo, ser más rápido que el típico ADO.NET consumo de código – código de la mayoría que consume ADO.NET tiende a estar mal escrito, ineficientes, etc; y no me refiero a DataTable 🙂
    • nota: hay rumores (en twitter, de manera pública) que podrían ser algunos de los principales ADO.NET canalización de trabajo que vienen en el futuro previsible, nos aseguraremos de que Dapper puede hablar todo lo nuevo API sale (incluso si esto significa un «dapper v2» para hablar «ado.net v2» – nomenclatura a pesar de)
    • ¿Es justo decir que la prueba es problemático cuando se utiliza dapper? Creo que la prueba es una razón para NO usar ubuntu dapper.
    • definir las «pruebas». Si te refieres a la unidad de pruebas: entonces, francamente, que no está relacionada – no importa lo de datos mecanismo de acceso que utilice, usted tendría que resumen es para puro de la unidad de pruebas; si te refieres a la integración de pruebas, luego Dapper es perfectamente feliz con eso. Así que: no hay barrera adicional es añadido de alguna manera relacionados con el ensayo. Si te refieres a algo más específico, por favor, hágamelo saber lo que tenía en mente.
    • Apuesto que es la mejor. Yo lo uso si es necesario disponer de procedimientos almacenados o cualquier otra cosa.

Dejar respuesta

Please enter your comment!
Please enter your name here