Hemos intentado esto en una arquitectura cliente-servidor. Ahora nos estamos moviendo a DTO (objetos de transferencia de datos). Esto significa que las entidades separadas ya no se envían directamente al cliente, sino a objetos especializados.
La razón principal para avanzar en esta dirección no es NHibernate, sino la serialización necesaria para enviar entidades al cliente. Si bien puede usar la carga diferida (¡y lo hará!) Mientras está conectado a la sesión, necesita obtener todas las referencias de la base de datos para serializarlo.
Teníamos muchas guías en lugar de referencias y muchas propiedades que se mapean pero no se serializan ... y se convirtió en un dolor. Por lo tanto, es mucho más fácil copiar las cosas que realmente desea serializar a su propia estructura.
Además de eso, trabajar separado podría funcionar bien.
- Tenga cuidado con la carga diferida, lo que provocará que se generen excepciones al acceder a objetos no cargados en una instancia desconectada.
- Tenga cuidado con la simultaneidad, la probabilidad de que las entidades hayan cambiado mientras estuvieron separadas es alta.
- Tenga cuidado si necesita algún tipo de seguridad o incluso si desea que su servidor haga algunos cambios en los datos. Los objetos separados podrían regresar en cualquier estado.
soy curiosidades, también –
Probablemente debería ser más específico. ¿Qué tipo de experiencias, qué tipo de "escenario desconectado"? –
¿Por qué? Creo que ya publiqué un escenario, no muy específico, pero en general. Cuando pregunto en un escenario muy específico, la cantidad de respuestas podría ser menor teniendo una general. –