Pregunta

Quiero usar SubSonic (2.2) en una aplicación que estoy construyendo porque me gusta su simplicidad y maneja cualquier tipo de consulta que pueda prever que necesite. Al mismo tiempo, quiero mantener las capas superiores de mi aplicación desacopladas de los Tipos subsónicos. Quiero devolver solo los objetos C # simples y también pasar POCO para que se guarden.

Pero aquí está el truco: quiero que mis POCO tengan propiedades cargadas de manera diferida para colecciones secundarias y objetos primarios basados ??en las relaciones FK. Supongo que de alguna manera necesito poner un objeto SqlQuery subsónico en un miembro privado en mi POCO y usarlo internamente en el captador para una propiedad con carga lenta.

¿Alguna idea sobre cómo implementar esto específicamente con SubSonic? ¿Alguien ha hecho esto antes?

Me doy cuenta de que el próximo lanzamiento importante de SubSonic lo hará listo para usar, pero parece que al menos faltan unos meses.

¿Fue útil?

Solución 4

No podría encontrar una buena manera de hacer esto. Subsonic 3 se ve muy bien y resolvería el problema, pero mientras tanto solo fue con NHibernate .

Otros consejos

Yo uso el RepositoryRecord en SubSonic que es "en su mayoría" poco Luego hago parciales para esas clases que cargan la otra clase cuando se selecciona una propiedad.

Partial Public Class Book

Private _Author as Database.Author 
Property Author() as Database.Author
  Get
     If _Author is nothing then
       ' Load the author class here.
     End if
     return _Author
  End get
  Set
     ....
  End Set
End Property
End Class

Puede usar el atributo:

  

tableBaseClass = " RepositoryRecord "

Me temo que no sé cómo maneja esto la carga diferida. Puede ver la publicación de Rob Conery sobre esto para más detalles.

Lo que quieres no está en la versión 2.x. Es posible que pueda obtener la mayor parte del camino editando las plantillas (tengo ejemplos de propiedades con carga lenta en mi blog ). Otra opción es construir sus pocos y luego crear clases para asignar desde las clases y consultas generadas por SubSonic a su modelo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top