Pregunta

Un procedimiento almacenado típico en nuestro sistema acepta alrededor de 20 parámetros.Tampoco hay posibilidad de refactorizar estos procedimientos almacenados.Básicamente, he recurrido a escribir mi propio generador de código que envuelve estos SP en objetos "Comando" (independientes del proveedor de bases de datos), con sus propiedades públicas correspondientes a los parámetros del SP.Funciona, pero preferiría una solución probada de terceros.

¿Alguien puede recomendar algo?No he encontrado ninguno que admita OleDB y procedimientos almacenados.

Editar:Necesito conectividad OleDb debido a SQL 6.5 (lo creas o no).ADO.NET no puede conectarse a SQL 6.5.Además, esta es una aplicación .NET 2.0, por lo que LinqToSql no me sirve de nada.

Editar2:Ya probé nHibernate e iBatis.Ninguno de ellos se adapta a mis necesidades.La última vez que probé NHibernate requirió que el SP devolviera un conjunto de resultados.Ese no es el caso de mis SP.Ambos también requieren que especifique manualmente los parámetros.

¿Fue útil?

Solución

Tengo experiencia con 3 capas ORM:

Los tres son gratuitos, admiten conexiones OleDb y procedimientos almacenados.

Subsonic: este fue creado específicamente para aplicaciones web.Imita mucho de lo que hace Ruby On Rails.Simplemente agregaron migraciones.Subsonic es el más ligero de los tres.Es un poco más difícil de usar para Winforms, pero no tanto como pensé.Viene con una buena herramienta de interfaz de usuario para generar el código y mantener la configuración de la base de datos.Este es el único que tiene soporte para diferentes bases de datos.Lo he usado con SQLite, SQL Server CE y SQL Server.

CSLA.NET: este puede manejar prácticamente todas las nuevas y brillantes tecnologías .NET.Sé que el autor acaba de agregar soporte para WCF, WPF y Silverlight.Esto es lo que uso cuando necesito un trabajo muy pesado con aplicaciones de tipo empresarial.Tiene muchas características interesantes como deshacer objetos ilimitados, la capacidad de marcar colecciones como de solo lectura y la capacidad de mover y anclar objetos a cualquier lugar que desee.Esto es lo más cerca que estará de lo que hace JBoss en Java.

Net Tiers: no soy un gran admirador, pero hará el trabajo.Es más liviano que CSLA, pero aún más pesado que Subsonic.

Yo también mencionaría NHibernate, Registro activo del castillo, y Biblioteca empresarial de Microsoft.Aunque no tengo mucha experiencia con estos.

Otros consejos

Por lo que he oído, el marco ADO .NET Entitry tiene poco soporte para procedimientos almacenados...LINQ2SQL puede hacerlo funcionar, pero puede requerir algún tipo de clase de proxy...NHibernate e IBatis son su mejor opción...

Alternativas:

  1. LINQ a SQL
  2. Marco de entidad ADO.NET
  3. NHibernate
  4. Tu elección )
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top