Una opinión mía... Aunque supongo que se quiere hacer la entrega de NHibernate en una sola dll, creo que hay cosillas que deberían estar separadas para evitar acoplamiento entre capas. Por ejemplo, creo que para los tipos personalizados, que podrías tenerlos dentro del dominio, se hace referencia a toda la dll de NH, lo que lleva a que el dominio tenga una referencia a NH... Con las excepciones puede pasar algo parecido... y con otros temas que he visto pero ahora no recuerdo.
¿No sería mejor tener un Core con estos elementos separados? Es que si agrego una referencia a NH donde no toca, me veo a los programadores haciendo cosas raras... On 7 feb, 13:45, Fabio Maulo <[email protected]> wrote: > para tu caso, que es solo el rethrow de una exception de grabacción, debería > ser suficiente el flush. > > 2011/2/7 Juan Cuello <[email protected]> > > > > > > > > > > > Fabio, basta con el flush para todas las situaciones? Aunque sea una > > llamada explícita a SaveOrUpdate, Save, Update...? > > > Gracias a todos como siempre > > > On 4 feb, 15:30, Fabio Maulo <[email protected]> wrote: > > > [Serializable] > > > public class YourFlushListener : DefaultFlushEventListener > > > { > > > public virtual void OnFlush(FlushEvent @event) > > > { > > > try > > > { > > > base.OnFlush(@event);} > > > > catch (StaleStateException ex) > > > { > > > throw new DataConcurrencyException(ex.Message, ex); > > > > } > > > } > > > } > > > > 2011/2/4 Juan Cuello <[email protected]> > > > > > Hola a todos, > > > > > Debido a que estamos desarrollando un proyecto con arquitectura > > > > desacoplada, nos encontramos con un problema en la gestión de > > > > concurrencia. El problema es que cuando salta una excepción de > > > > concurrencia StaleStateException, queremos automatizar que en realidad > > > > se lance una excepción de nuestro framework. > > > > > La idea que he tenido es agregar un listener que herede por ejemplo de > > > > DefaultUpdateEventListener para hacer lo siguiente: > > > > > protected override object > > > > PerformSaveOrUpdate(NHibernate.Event.SaveOrUpdateEvent @event) > > > > { > > > > try > > > > { > > > > return base.PerformSaveOrUpdate(@event); > > > > } > > > > catch (StaleStateException ex) > > > > { > > > > throw new DataConcurrencyException(ex.Message, ex); > > > > } > > > > } > > > > > Para la concurrencia, que sólo saltaría en updates (lógicamente), de > > > > qué clase debo heredar: DefaultUpdateEventListener, > > > > DefaultSaveEventListener, DefaultSaveOrUpdateEventListener, > > > > DefaultSaveOrUpdateCopyEventListener????? > > > > > A alguien se le ocurre una forma mejor de hacer esto? > > > > > Muchas gracias > > > > > -- > > > > Para escribir al Grupo, hágalo a esta dirección: > > > > [email protected] > > > > Para más, visite:http://groups.google.com/group/NHibernate-Hispano > > > > -- > > > Fabio Maulo > > > -- > > Para escribir al Grupo, hágalo a esta dirección: > > [email protected] > > Para más, visite:http://groups.google.com/group/NHibernate-Hispano > > -- > Fabio Maulo -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
