2009-12-13 13 views
13

Estoy utilizando Compact Framework 3.5 y me he decidido tentativamente en una compilación personalizada de Subsonic 3.0 para hacer acceso a los datos. El problema es que estoy acostumbrado a desarrollar modelos primero, pero también me interesa mantener el control de mi esquema DB. Por lo tanto, ni ActiveRecord ni Repository parecen satisfacer mis necesidades, y quiero usar mi modelo POCO existente y asignarlo a mis tablas existentes. Estoy acostumbrado a hacer esto a través de NHibernate y Entity Framework.Cartografía subsónica personalizada de objetos en las tablas

Después de algunas investigaciones, parece que podría ser capaz de crear un QueryMapping personalizado para darme la asignación personalizada que quiero. Antes de comenzar este camino, sin embargo, me gustaría ver algún tipo de ejemplo de esto. Parece que no puedo encontrar ninguno en la web, y me pregunto si alguien podría dar su opinión sobre la experiencia con Subsonic, primer modelo y una asignación personalizada de tabla por tipo y tabla por jerarquía.

Respuesta

1

A partir del 3.0.x SubSonic:

Si desea utilizar POCOs, gracias desea que el repositorio - el SimpleRepository en particular. SubSonic solo es compatible con un modelo de tabla por tipo. SubSonic no es compatible con la herencia. Si lo deseas, tendrás que codificarlo; sin embargo, eso no es posible si estás motivado para asumirlo.

SimpleRepository, sin embargo, ofrece una cantidad respetable de control sobre el esquema, incluso cuando se usan migraciones (automáticas) (que me resultan bastante adictivas para POCO). Asegúrese de verificar la buena documentación en el sitio del proyecto, en particular http://www.subsonicproject.com/docs/Using_SimpleRepository. Presta atención al uso del atributo. Los nuevos atributos son fáciles de crear e integrar a una clase de servicio de repositorio personalizada.

Tal vez el mejor cosa de acerca del SimpleRepository de SubSonic: es muy fácil de extender. Nuestro equipo lo ha ampliado bastante (por ejemplo, agregando soporte de carga ansiosa) y, en general, a todos nos ha resultado muy divertido hackearlo. Tiene un diseño muy agradable, es rápido, liviano y no llama la atención.

Lo mejor de todo es que SimpleRepository + Migrations fomenta un diseño de esquema sensato. Si te encuentras luchando contra SubSonic, debes controlarte; lo más probable es que dirijas tu barco hacia la maleza.

Si necesita más control de versiones de base de datos de potencia de fuego, combine con migrator.net para una victoria fácil.

¡Buena suerte y bienvenido a SubSonic!

Cuestiones relacionadas