Se utilizzate AutoMapper per creare Dto da oggetti letti con Nhibernate e lazy-loading attivo, è possibile che otteniate un’eccezione di tipo ObjectDisposedException, in quanto Automapper accede a proprietà “Lazy”, ma la sessione è già stata chiusa e distrutta. Per risolverlo, basta implementare un Custom Resolver, che tornerà null qualora il tipo della proprietà che sto provando a mappare sia un proxy non inizializzato. Ecco quindi il codice: public class NhProxyResolver : ValueResolver<object, object> { protected override object ResolveCore(object source) { return NHibernateUtil.IsInitialized(source) ? source : null; } } ...
Recentemente mi è tornato utile avere l’elenco delle transazioni attive con il relativo statemente T-SQL. Ecco la query che ho utilizzato: SELECT s_tst.[session_id], s_es.[login_name] AS [Login Name], DB_NAME (s_tdt.database_id) AS [Database], s_tdt.[database_transaction_begin_time] AS [Begin Time], s_tdt.[database_transaction_log_record_count] AS [Log Records], s_tdt.[database_transaction_log_bytes_used] AS [Log Bytes], s_tdt.[database_transaction_log_bytes_reserved] AS [Log Rsvd], ...