Sto tentando di implementare un repository Soft-Deletable. Di solito questo può essere fatto facilmente con un listener di eventi di cancellazione. Per filtrare le entità eliminate, posso aggiungere un attributo Where al mio mapping di classe. Tuttavia, è necessario implementare altri due metodi nel repository per questa entità: Restore e Purge. Il ripristino invierà le entità "Annulla" e Purge le eliminerà definitivamente. Ciò significa che non è possibile utilizzare l'attributo Where (dal momento che blocca le entità eliminate temporaneamente a qualsiasi accesso)I filtri NHibernate non funzionano con Session.Get
Ho provato a utilizzare i filtri . Posso creare un filtro e abilitarlo o disabilitarlo all'interno della sessione per ottenere lo stesso risultato. Ma il problema è che i filtri non hanno alcun effetto sul metodo Session.Get (influiscono solo sull'accesso basato su ICriteria).
Qualche idea su come risolvere questo problema?
Grazie
hai mai trovato una soluzione per questo? – kmoo01
No. I filtri non funzionano su Get. Hanno effetto solo sui criteri. Ho dovuto implementare un approccio diverso sul repository di base solo per Get e lasciare che Filter gestisca gli altri casi d'uso. – Khash