Domanda

Se implemento un semplice strumento OR / M, dove inserisco la mappa delle identità? Ovviamente, ogni repository dovrebbe avere accesso alla propria mappa delle identità, in modo da poter registrare oggetti caricati (o forse DataMapper è colui che registra gli oggetti in IdentityMap?).

E quando commetto unità di lavoro, devo anche accedere alla mappa dell'identità per vedere quale entità è sporca e quale è pulita (o sbaglio di nuovo e c'è qualche oggetto esterno che chiama i metodi RegisterClean / RegisterDirty del mio UnitOfWork classe? Quindi quale oggetto fa questo?).

Questo significa che dovrei implementare IdentityMap come un oggetto completamente indipendente che contiene IdentityMaps interno per ogni tipo di entità?

Davvero confuso su come IdentityMap, Repository e UnitOfWork lavorino tutti insieme.

È stato utile?

Soluzione

Con il nostro .NET O / R Mapper, LightSpeed ?? abbiamo collocato la mappa identità all'interno dell'unità della classe di lavoro. Questo ha funzionato molto bene per noi e sembra abbastanza naturale in quanto agisce efficacemente come cache di livello 1 per scopi di interrogazione durante l'unità della vita lavorativa.

Generalmente, iniettare o in qualche modo fornire un UoW per la classe del proprio Repository in modo da avere un ambito e un gateway efficaci per l'interrogazione.

Spero che sia d'aiuto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top