Renzo Orlando De La Cruz Unzueta
EstudianteDaniel David Mejia Vargas
EstudianteCamilo Andres Pinzon Mora
EstudianteCarlos Mauricio Moreno Aguilera
EstudianteJuan Carlos Gelpud Rosero
EstudiantePlatzi Team
EstudianteCamilo Andres Pinzon Mora
EstudianteMiguel Teheran
ProfesorIvan Ramos Sánchez
EstudianteJimmy Buriticá Londoño
EstudianteLuis Miguel Mejia Martinez
EstudianteRicardo Casallas
EstudianteMiguel Teheran
ProfesorMiguel Angel Porras Villarreal
EstudianteMiguel Angel Perez Cardona
EstudianteJairo Bermudez
EstudianteLuis Miguel Mejia Martinez
EstudianteChristian Manuel Campos Navarro
EstudianteVicente Estrada Domínguez
EstudianteFrancisco Murillo
EstudianteCristian David Boada Padilla
EstudianteMi primer contacto con un ORM fue en python, con su microframework Flask, llamado “SQLAlchemy”, te hace la vida mas facil es muy intuitivo.
El mío fue con Django en Python. Es una maravilla y también super intuitivo
Hola Miguel , una pregunta, porque en las fabricas de software evitan el uso de ORM y buscan las conexiones directas a BD?, me dijeron que por velocidad y performance, pero no lo entiendo…
fijate que tendrias que ver el caso de uso, por ejemplo se que hay formas mas rapidas de hacer un bulk insert de muchos datos. usando la clase por ejemplo SqlBulkCopy (https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/bulk-copy-operations-in-sql-server) que usar AddRange() y saveChanges() pero cuando lees el codigo la diferencia es que en EF se hace en 3 lineas y con SqlBulkCopy lo tienes que hacer mapeando cada linea
Respaldando lo que dice Carlos, también influye el tipo de consultas que deseas, porque cuando se desea realizar una consulta compleja, el ORM se limita, mientras que sea de manera directa, lo puedes hacer con mayor libertad. Al menos esa fue la respuesta que me dijo un compañero que llevaba en ese entonces 10 años de experiencia.
Introducción a Entity Framework
Entity Framework es un marco de trabajo de mapeo objeto-relacional (ORM) para Microsoft .NET que permite a los desarrolladores trabajar con bases de datos relacionales mediante objetos y entidades en lugar de tablas y columnas.
!Untitled
Con Entity Framework, los desarrolladores pueden crear modelos de datos lógicos que representan las entidades y las relaciones entre ellas, y luego mapearlos a la estructura de la base de datos relacional subyacente. Esto significa que los desarrolladores pueden escribir código en términos de objetos y entidades, en lugar de escribir consultas SQL complejas.
Ventajas
Hay varias ventajas en el uso de Entity Framework como ORM para trabajar con bases de datos relacionales:
Hola Miguel , como estas... una pregunta, porque en las fabricas de software evitan el uso de ORM y buscan las conexiones directas a BD?, me dijeron que por velocidad y performance, pero no lo entiendo...
Si Camilo definitivamente los ORM son mas lentos atendiendo consultas complejas y grandes cantidades de datos, sin embargo esto es algo que se ha venido mejorando y sobreto desde la version 5 esta superado para casi todos los escenarios. Hasta las consultas más complejas solo demoran milisegundos. Por otro lado recuerda que la idea es usar arquitecturas orientadas a la nube como Microservicios diviendo la carga de procesamiento entre diferentes servicios y esto hace que también sea mas rápido todo al momento de consultar. Si empezaras un nuevo proyecto utilizando .NET 6 que es la ultima LTS te recomendaría totalmente usar Entity framework, de verdad vale mucho la pena. Si llegas a tener un caso muy complejo y difícil puedes crear una vista materializada o un procedimiento almacenado y llamarlo desde EF para resolver ese desafío particular.
Hola Camilo, concuerdo con el profe y los otros 2 compañeros que te contestaron, llevo varios años en fabricas de SFW y consultoras, los ORM si se usan y se usan ampliamente. Te diría también que depende al caso de uso. Imagina una aplicación web de reportería, la data ya está, el enfoque es extraerla, entonces trasladas la lógica a SP's y no requieres ORM, ahora imagina la aplicación principal con N microservicios: Ventas, Facturas, Devoluciones, Proveedores, etc. Cada uno con sus propias reglas, estarán por ende cargados de mucha logica de negocio, es más tardado en desarrollo hacer un sp y estarlo deployando en BD a hacer toda la funcionalidad en un ORM e ir agregando características, hace más amigable que el desarrollador se involucre con los datos y libera a un DBA de estar revisando, aprobando y aplicando cambios de manera continua a la BD
El usar un ORM te facilita la vida y te permite enfocarte en el desarrollo y no complicarte con conexiones a bases de datos.
Me parece interesante la funcionalidad de EF del historial para controlar cambios en la base de datos.
¿Qué es y para qué sirve Entity Framework? Resultado de imagen para Introducción a Entity Framework El Entity Framework permite a los desarrolladores trabajar con datos en forma de propiedades y objetos específicos del dominio, como clientes y direcciones de clientes, sin tener que preocuparse por las tablas y columnas de base de datos subyacentes donde se almacenan estos datos.
Correcto!
Entity Framework Core (EF Core), que es una versión más reciente y ligera de Entity Framework, con proveedores de terceros para trabajar con bases de datos NoSQL como MongoDB.
Ventajas de EF:
-Mejora velocidad de desarrollo. -Permite maneja un solo repositorio para backed y base de datos. -Mejora la seguridad. -Perimite programar de manera mas amigable y facil. -Nos permite controlar el historial de cambios de la base de datos de manera muy sencilla.
Pregunto que pasa con el manejo de gran cantidad de volumen de datos ? Si es efectivo ?
Entity Framework
Primer comentario en esta clase.
Espero que NO usemos Code First en el curso
porque no seria ideal?
Esa es una de las ventajas de Entoty Framework