¿Las mejores prácticas actuales de Microsoft para crear un nivel de datos .NET? Y la realidad?

13

El equipo de desarrollo con el que estoy trabajando se moverá a .NET 4.0 pronto, sin embargo, la biblioteca de clases de acceso a datos que utilizamos todavía usa ADO.NET "clásico", 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 mejores prácticas.

¿Microsoft tiene una preferencia? ¿Qué acceso de datos está utilizando la mayoría de las personas actualmente? ¿Hay buenas razones para quedarse con ADO.NET classic y no pasar a Entity Framework?

    
pregunta T. Webster 26.05.2011 - 02:50

3 respuestas

4

En mi firma estamos usando el EF. Es un buen ORM, adecuado para nuestro pequeño proyecto. En realidad la gente está usando EF o NHibernate. Ambos marcos son buenos. EF tiene un excelente soporte para MS y puedes encontrar excelentes herramientas en conjunto con Visual Studio. NHibernate se considera mejor que EF, pero hay una "curva de aprendizaje" mayor, por lo que dedicará más tiempo a su adopción.

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. Compruebe cómo funciona y cómo puede gestionar / 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 algún tiempo para su adopción, por lo que debe calcular si este cambio será beneficioso para su empresa a largo plazo.

    
respondido por el Michal Franc 26.05.2011 - 07:27
5

Mi equipo está encontrando que la realidad de mudarse a EF es un poco difícil. No es porque EF sea malo o no sea útil, pero el alcance de convertir nuestras capas de datos existentes (bastante masivas) de conjuntos de datos fuertemente tipados que se originan desde ADO.Net framework 2.0 a EF es solo un montón de trabajo intensivo que realmente no gana nosotros nada Para las cosas nuevas todavía estamos bastante desgarrados porque todos tenemos opiniones y objetivos. Para nuestros proyectos de Silverlight, nos centramos únicamente en los servicios de EF y RIA, pero para los proyectos web (formularios web y MVC 3) utilizamos Linq2Sql principalmente.

Estamos encontrando menos dolores de cabeza y un desarrollo más rápido con 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 las funciones geniales se centrarán en EF. Yo diría que si tiene una opción desde el principio, EF sería un buen lugar para comenzar. Si ya estás en la mitad de la transmisión, no sé si será muy fácil cambiar.

    
respondido por el Joel Etherton 26.05.2011 - 14:13
3

Entity Framework es la forma preferida de ir. LinqToSql será compatible y se mantendrá, pero el enfoque de desarrollo en adelante está en Entity Framework. Elegir entre ADO.NET Entity Framework y LINQ to SQL

    
respondido por el klir2m 26.05.2011 - 03:35

Lea otras preguntas en las etiquetas