Estoy en las primeras etapas de planificación de una conversión de una aplicación de base de datos clásica grande ASP a ASP.Net y tengo problemas para seleccionar qué método de acceso a datos utilizar. He jugado con Linq To SQL, datos dinámicos, datasets fuertemente tipados, Enterprise Library (bloques de aplicaciones de acceso a datos) y un poco con Entity Framework, pero ninguno de ellos me ha saltado como "el único". Hay demasiadas opciones: mi cabeza está nadando, ¡ayúdame a elegir!Necesito consejos sobre cómo seleccionar un método de acceso a datos
Quizás ayudaría a dar algunos antecedentes sobre la aplicación que estoy convirtiendo, junto con las prioridades ...
La parte final es Microsoft SQL Server (2005 o posterior) y tenemos el compromiso de eso, así que no tengo que preocuparme por apoyar una plataforma de base de datos diferente.
La base de datos es muy madura y contiene una gran parte de la lógica de negocios. Está altamente normalizado y hace un uso extensivo de procedimientos almacenados, disparadores y vistas. Preferiría no reinventar dos ruedas al mismo tiempo, por lo que me gustaría hacer el menor número posible de cambios en la base de datos. Por lo tanto, tengo que elegir un método de acceso a datos que sea lo suficientemente flexible como para permitirme solucionar cualquier peculiaridad de la base de datos.
La aplicación tiene muchos formularios de entrada de datos y amplias capacidades de búsqueda e informes (los informes son otra bestia que abordaré más adelante).
La aplicación debe ser lo suficientemente flexible como para hacer frente a pequeños cambios en la estructura de la base de datos. La aplicación (y la base de datos) pueden instalarse en diferentes sitios donde se realizan pequeñas modificaciones personalizadas a la base de datos. Idealmente, la aplicación podría identificar las extensiones de la base de datos y reaccionar de forma adecuada. En otras palabras, si necesito almacenar una asignación O/R en la aplicación, necesito poder cambiarla (o actualizarla fácilmente) al instalar la aplicación y la base de datos en un nuevo sitio.
El desarrollo rápido de aplicaciones es crítico. Dado que la base de datos ya está hecha y la interfaz de usuario va a coincidir estrechamente con la aplicación existente, espero encontrar algo donde podamos poner esto en marcha con bastante rapidez. Estoy dispuesto a sacrificar no usar la tecnología más reciente y mejor si ahorra tiempo en el desarrollo. En otras palabras, si hay una curva de aprendizaje pronunciada para usar algo como Entity Framework, estoy de acuerdo con algo así como Datasets fuertemente tipados y un DAL personalizado si acelera el proceso.
Soy totalmente novato en ASP.Net pero estoy muy familiarizado con Classic ASP, T-SQL y el antiguo ADO (por ejemplo, los conjuntos de registros desconectados). Si alguno de los métodos de acceso a datos es más adecuado para alguien que proviene de mi entorno, podría inclinarme en esa dirección.
¡Gracias por cualquier consejo que pueda ofrecer!
Con tantas maneras de hacer lo mismo, me gustaría ver para qué sirve 1 herramienta frente a otras (es decir, cuándo usarla). junto con la evaluación de herramientas en algunos parámetros (p. ej., curva de aprendizaje, mantenimiento, simplicidad, soporte de la comunidad, etc.) – shahkalpesh
He oído que nHibernate es muy potente, pero también he leído que la curva de aprendizaje es bastante pronunciada para usarla manera correcta. Lamentablemente, no tenemos ese tipo de tiempo. – CowherPower
¿cuánto tiempo tienes? Me tomó un par de días descubrir cómo mapear mi primer objeto gráfico 3 como máximo. Soy un desarrollador de 1, parece que tienes un equipo. – JoshBerke