Estoy trabajando en una aplicación web .NET que utiliza una base de datos SQL Server con aproximadamente 20 a 30 tablas. La mayoría de las tablas se incluirán en la solución .NET como clase. He escrito mi propia capa de acceso a datos para leer los objetos y escribirlos en la base de datos. Todo el asunto consiste en solo unas pocas clases y muy pocas líneas de código en usa genéricos y reflexión para descubrir qué SQL y parámetros usar. Ahora, tal cosa se puede hacer usando NHibernate (o framework similar) y algunos colegas afirman que es una tontería por mi parte no usarlo. Mi principal argumento para no usarlo es que quiero el máximo control sobre mi aplicación, saber exactamente qué hace todo y cómo funciona todo, incluso si eso me cuesta más tiempo de desarrollo. Tampoco me gusta el hecho de que tengo que mapear mi base de datos en archivos XML (mi propia solución me permite mapearla en los archivos de la clase de entidad).¿Es tonto por mi parte no usar NHibernate para mi proyecto?
Entonces, lo que me gustaría saber de usted es, ¿es realmente estúpido no utilizar NHibernate en esta situación? ¿Realmente estoy siendo ignorante o no es una idea tan extraña usar mi propia solución?
NHibernate es una opción, como Entidad de Entidad ADO.NET (compruébalo también). –
Buscar NHibernate.Mapping.Attributes: no es necesario almacenar los metadatos de la base de datos en XML. –
También puede saber "exactamente lo que hace todo y cómo funciona todo" mientras usa NHibernate; el código fuente está disponible. También hay otras herramientas geniales como NHProf para mostrarle lo que está sucediendo. –