En mi empresa desde un principio hemos utilizado una herramienta propia para generar la capa de lógica de negocios, adaptada al 100% a nuestras necesidades y que ha ido creciendo con el tiempo. Eso nos ha beneficiado en tener controlado en todo momento nuestros objetos de negocio y nos ha evitado tener que hacer un salto obligatorio para utilizar alguno de los ORM que existen en el mercado, como puede ser: Entity Framework, NHibernate, etc. Nuestra capa de acceso a datos “DAL”...
Si trabajáis normalmente con datos seguro que habéis necesitado crear alguna vez una consulta que devuelva una tabla con datos cruzados "Transformar filas en Columnas". En SQL 2005 tenemos una función llamada PIVOT que intenta recuperar la funcionalidad de MS Access TRANSFORM pero nos encontramos con un gran inconveniente, tenemos que conocer el nombre de las nuevas columnas que queremos recuperar. Por ejemplo tenemos este código sacado de un artículo de Sebastian Contente... SELECT Vendedor...