asp.net - route - ¿Qué ORM debería usar para.Net en 2016 para hablar con SQL Server?
net core asp route id (2)
La respuesta corta es Entity Framework.
Creo que lo que te confunde es que puedes usar la sintaxis Linq Lambda y Linq Query con Entity Framework. Pero el futuro (en mi opinión) es Fluent API.
He estado utilizando Entity Framework 7 (prelanzamiento) y me da la impresión de que está enfocado en Fluent API. Lo cual está bien conmigo porque me gusta mucho mejor que la sintaxis de Linq.
La mayor parte de mi experiencia en el lado del servidor es con el meteoro o los rieles nodeJS, así que aún no tengo una gran cantidad de conocimientos de .Net. En los rieles es bastante fácil elegir ORM porque ActiveRecord es el único juego de la ciudad o eso parece. Por lo general, mi enfoque consistía en consultar todo lo que pudieras utilizando el ORM y, si no puedes hacerlo, desplegarlo en SQL sin formato.
Sin embargo, estoy tratando de leer tutoriales y lecciones sobre cómo consultar mis bases de datos en .Net 4.5 o aplicaciones más recientes y estoy confundido sobre cuál es el camino del futuro. Veo tutoriales en el siguiente
- Sintaxis de Linq Lambda
- Sintaxis Linq Query
- Marco de la entidad
¿Cuál es el ORM sugerido para las aplicaciones .NET modernas? Parece que puedo hacer operaciones CRUD básicas en todo lo anterior. Pero, ¿será más adecuado para decir combinaciones en las tablas? Eso sí, solo tengo pensado consultar las bases de datos de Microsoft SQL Server para mis soluciones .net.
Lo que realmente me confundió es leer que EF reemplazó a linq pero luego leer que EF también usa linq. Entonces, cuando veo un ejemplo para decir seleccionar todas las columnas, no sé si estoy usando una sintaxis del pasado o futuro. También solo mirando el código no puedo decir si es linq o EF. Sin embargo, puedo decir si su consulta o sintaxis lambda.
Las opciones que mencionaste no son todas ORM, en este 3, el único ORM es EF. hay otros ORM populares en .net que incluyen:
- NHibernate
- LLBLGen pro
- ActiveRecord
La mayoría de ellos son compatibles con LINQ. EntityFramework es el más joven pero su integración con VS y estar disponible de fábrica lo convierte en el ORM más popular en .net y reemplazó a LINQ en Entidades no LINQ. LINQ (Language-Integrated Query), tal como se define en msdn, se puede usar con diferentes fuentes de datos.
LINQ es un conjunto de características que amplía las poderosas capacidades de consulta a la sintaxis de lenguaje de C #. LINQ presenta patrones estándar y fáciles de aprender para consultar y actualizar datos, y la tecnología se puede ampliar para admitir potencialmente cualquier tipo de almacén de datos. .NET Framework incluye conjuntos de proveedores LINQ que permiten el uso de LINQ con colecciones de .NET Framework, bases de datos de SQL Server, conjuntos de datos ADO.NET y documentos XML.
Hay dos sintaxis diferentes para usar LINQ, principalmente conocidas como sintaxis Fluent y sintaxis de consulta.
Si eres nuevo en .net como dijiste, sugiero usar EF con sintaxis fluida, sería la forma más rápida de consultar la base de datos en .net.