En mi compañía, hemos estado usando Typed DataSets por un tiempo, y hemos tenido una experiencia generalmente positiva. Entiendo que muchas personas no les gusta conjuntos de datos, y hay herramientas de acceso a los datos más recientes, sin duda por ahí, pero ya que lo preguntas sobre un escenario del mundo real, aquí están algunos de mis requerimientos y conclusiones:
- necesidad de ser capaz de leer SQL Server, MS Access y fuentes de datos FoxPro
acceso
- SQL Server es sólo a través de las llamadas sproc (no es mi elección)
- relativamente fácil de aprender, especialmente para los desarrolladores nuevos a ASP.NET
He explorado personalmente el acceso de bajo nivel de ado.net, conjuntos de datos tipados, linq-to-sql, y simplemente escribiendo clases personalizadas de acceso a datos. Aún no he examinado el Entity Framework, ya que la versión incluida en VS2008 parecía tener algunas críticas mixtas, y no tuve acceso a VS2010 hasta hace poco (todavía tengo previsto revisar EF en algún momento de este año).
Elegimos utilizar Typed DataSets porque parecían ofrecer un desarrollo más rápido contra SPROCS y encontramos un tutorial muy completo de Scott Mitchell en el sitio asp.net: http://www.asp.net/data-access/tutorials.
En cuanto a nuestra experiencia hasta ahora, ha sido buena en su mayoría. El diseñador de DataSet genera una gran cantidad de código incluso para un pequeño número de tablas (< 20). Hacer cambios en los SPROCS ha causado algunos dolores de cabeza, pero me gustaría que se me muestre una herramienta que lo haría más fácil.
Una cosa que podría tratar de tomar una decisión más fácil: crear un pequeño problema de dominio como una página de edición de clientes o una página de entrada de pedidos, e implementarlo varias veces usando una variedad de tecnologías. Lleva algo de tiempo hacerlo, pero es una buena forma de aprender y puede comparar las tecnologías por usted mismo. Hicimos esto y pareció ayudar mucho.
+1 para explicar brevemente que uno puede ser crítico sobre EF. De hecho, tiene (bastante) inconvenientes. Personalmente, sigo usando NH, mucho más flexible y sin impacto en el DB en absoluto. – Abel
Debe consultar el nuevo marco de entidad de "Código primero". Es como usar Fluent nHibernate solo con EF. Es muy magra IMO. El único inconveniente es que todavía está en CPT (actualmente 4), pero es muy divertido jugar con él. Consulte el blog de EF para obtener más información: http://blogs.msdn.com/b/adonet/archive/2010/07/14/CTP4CodeFirstWalkthrough.aspx – TheCloudlessSky
@TheCloudlessSky - Lo echaré un vistazo. Todavía estamos buscando un nuevo estándar ya que estamos entre grandes proyectos, así que gracias por la lectura. –