¿Qué es Castle proxy factory en NHibernate? ¿Cuál es su tarea? ¿Qué significa proxy en este caso?¿Qué es Castle proxy factory en NHibernate?
Respuesta
Castle se puede utilizar (entre otros, tiene la opción, también puede usar LinFu, Spring.NET, ...) para crear proxies dinámicos de sus entidades.
De forma predeterminada, NHibernate utiliza proxies dinámicos para representar sus entidades; al hacerlo, puede devolverle un objeto cuando recupera alguna entidad de la base de datos, sin que se llenen todas las propiedades. Al usar un proxy dinámico, solo poblará la entidad una vez que realmente se refiera a una propiedad.
(Por lo tanto, es un tipo de carga lenta, que no debe confundirse con la carga diferida de colecciones/asociaciones).
Este comportamiento es la razón por la NHibernate quiere crear cada propiedad como virtuales por defecto: NHibernate creará una nueva clase que utiliza este castillo (o Linfu, ...) proveedor de proxy que hereda de su entidad, y se anula todas las propiedades para que pueda 'inyectar' el código que es necesario para recuperar los datos necesarios del DB.
Puede deshabilitar este comportamiento especificando 'lazy = false' en su mapeo de entidades. (Aunque, creo que incluso si deshabilita esta función, NHibernate aún requerirá que use una de las fábricas de proxy).
Cuando selecciona una entidad de ISession, no obtiene una instancia de entidad real, sino un objeto proxy. Este objeto proxy hereda su entidad y es utilizado por NHibernate para rastrear los cambios realizados en los campos.
- 1. ¿Es necesario Proxy Factory en NHibernate?
- 2. Castle Windsor Typed Factory Facility Equivalentes
- 3. Castle DynamicProxy: obtener el objeto sin proxy
- 4. ¿Cuál es la diferencia entre PostSharp y Castle Dynamic Proxy?
- 5. Castle windsor controller factory y repository no resuelve
- 6. ¿Qué es la sesión de NHibernate exactamente?
- 7. NHibernate Obtener objetos sin proxy
- 8. ¿Qué es Tuplizer en NHibernate
- 9. Interceptor NHibernate: ¿Qué es
- 10. Advertencia de proxy de estrechamiento de NHibernate
- 11. Diferencias entre NHibernate, Castle, Linq - ¿A quién van dirigidas?
- 12. ¿Qué es Proxy Class en C++
- 13. Factory/Abstract Factory confusion
- 14. Castle DynamicProxy: ¿Cómo se Equivale a Proxy cuando se utiliza una interfaz de proxy?
- 15. ¿Qué es una proyección en NHibernate?
- 16. ¿Cuál es la relación entre Castle, LinFu y Spring con NHibernate?
- 17. ¿Qué es un servicio web proxy?
- 18. NHibernate: proxy no inicializado pasado a save() y en cascada
- 19. Castle Windsor InternalsVisibleTo Silverlight
- 20. Castle Windsor Transient Disposables
- 21. Factory Girl has_many múltiple a través es
- 22. Ignorar los campos públicos/internos para el proxy NHibernate
- 23. Factory Method
- 24. En Castle Windsor, ¿puedo registrar un componente de interfaz y obtener un proxy de la implementación?
- 25. Castle Windsor Fluent Registration - ¿Qué hace Pick()?
- 26. ¿Es seguro Bouncy Castle API Thread Safe?
- 27. ¿Qué es NHibernate y por qué debería usarlo?
- 28. ¿Cuáles son los pros y los contras de usar Castle Active Record vs Straight NHibernate?
- 29. Prueba de nhibernate Castle Las asignaciones de Windsor en httpModules no están registradas
- 30. Castle Windsor CollectionResolver: ¿Por qué no funciona en Resolver llamadas?