Pregunta

Si implemento alguna herramienta OR / M simple, ¿dónde pongo el mapa de identidad? Obviamente, cada repositorio debe tener acceso a su propio mapa de identidad, para que pueda registrar objetos cargados (¿o tal vez DataMapper es el que registra los objetos en IdentityMap?).

Y cuando confirmo la unidad de trabajo, también necesito acceder al mapa de identidad para ver qué entidad está sucia y cuál está limpia (o me equivoco nuevamente y hay algún objeto externo que llama a los métodos RegisterClean / RegisterDirty de mi UnitOfWork clase? entonces que objeto hace esto?).

¿Esto significa que debo implementar IdentityMap como un objeto completamente independiente que contiene IdentityMaps internos para cada tipo de entidad?

Realmente confundido acerca de cómo IdentityMap, Repository y UnitOfWork funcionan todos juntos.

¿Fue útil?

Solución

Con nuestro .NET O / R Mapper, LightSpeed ?? nosotros coloca el mapa de identidad dentro de la unidad de clase de trabajo. Esto ha funcionado muy bien para nosotros y parece bastante natural ya que actúa efectivamente como un caché de nivel 1 para propósitos de consulta durante la vida de la unidad de trabajo.

En general, inyecte o de alguna manera proporcione un UoW para su clase de Repository para que tenga un alcance efectivo y una puerta de enlace para la consulta.

Espero que eso ayude.

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