El equipo de desarrollo con el que estoy trabajando se mudará a .NET 4.0 pronto, sin embargo, la biblioteca de clases de acceso a datos que usamos todavía usa ADO.NET "clásico", lo que significa SqlDataReader , DataTable y similares. Mientras tanto, parece que Microsoft y probablemente el resto del mundo está avanzando con Entity Framework y WCF Data Services . No encontré nada en MSDN que indicara cuál de las tecnologías de acceso a datos Microsoft considera las mejores prácticas.
¿Microsoft tiene alguna preferencia? ¿Qué acceso a los datos usa la mayoría de las personas actualmente? ¿Hay buenas razones para quedarse con ADO.NET classic y no pasar a Entity Framework?
c#
.net
database-development
T. Webster
fuente
fuente
Respuestas:
En mi empresa estamos usando el EF. Es un buen ORM, adecuado para nuestro pequeño proyecto. En realidad, las personas usan EF o NHibernate. Ambos marcos son buenos. EF tiene un excelente soporte de MS y puede encontrar excelentes herramientas incluidas con Visual Studio. NHibernate se considera mejor que EF pero hay una "curva de aprendizaje" más grande, por lo que pasarás más tiempo adoptandola.
Creo que si estás en el "clásico" de Ado.Net prueba el EF. Cree un proyecto simple y reemplace algunos de los métodos DAL. Verifique cómo funciona y cómo puede administrar / modificar el código. Compárelo con los métodos simples "SqlDataReader" y decida cuál es mejor. Recuerde que cada cambio de tecnología necesita algo de tiempo para su adopción, por lo que debe calcular si este cambio será beneficioso para su empresa a largo plazo.
fuente
A mi equipo le resulta un poco difícil la realidad de mudarse a EF. No es porque EF sea malo o no sea útil, sino que el alcance de convertir nuestras capas de datos existentes (bastante masivas) de conjuntos de datos fuertemente tipados que se originan de ADO.Net framework 2.0 a EF es solo un trabajo intenso que realmente no gana nosotros cualquier cosa Para cosas nuevas todavía estamos bastante desgarrados porque todos tenemos opiniones y objetivos. Para nuestros proyectos Silverlight, nos estamos centrando únicamente en los servicios EF y RIA, pero para los proyectos web (formularios web y MVC 3) estamos utilizando principalmente Linq2Sql.
Estamos encontrando menos dolores de cabeza y un desarrollo más rápido usando Linq2Sql, pero sé que Microsoft está impulsando la agenda de EF (particularmente con los servicios WCF y RIA). Linq2Sql no irá a ninguna parte, pero todos los juguetes nuevos y características interesantes se centrarán en EF. Diría que si tiene una opción desde el principio, EF sería un buen lugar para comenzar. Si ya está a mitad de camino, no sé que será muy fácil cambiar.
fuente
Entity Framework es el camino preferido. LinqToSql será compatible y mantenido, pero el enfoque de desarrollo en el futuro está en Entity Framework. Elección entre ADO.NET Entity Framework y LINQ to SQL
fuente