144 messaggi dal 02 aprile 2003
Ciao a tutti ragazzi, ho un grosso problema. Mi spiego meglio.
Tempo fa ho utilizzato un reportage pattern con unit of work, usavo per risolvere le dipende Light inject, e tutto funzionava come un violino.

Ora per motivi aziendali ho dovuto usare ninject sul medesimo framework, ma ecco sorgere il problema, quando faccio il savechange del UOF, seppur non da alcun errore, non viene aggiornato il dato nel db, ho creato una classe di test per provare la medesima funzionalità e funziona alla grande.
Può essere un problema legato allo scope dello UOF e del context? Se si quale lifetime dovrei assegnare con ninject?
Grazie a tutti.
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
trattandosi di un'applicazione web, è consigliabile usare l'.InRequestScope per il tuo oggetto UOW. Infatti, la stessa istanza non dovrebbe essere riciclata per richieste diverse.

Il problema è difficile da identificare, del resto hai confermato con un test che la tua implementazione del pattern Unit of Work è corretta.
Se al SaveChanges i dati non vengono scritti (e tu sei sicuro che il SaveChanges del DbContext venga invocato) allora potrebbe esserci una transazione d'ambiente che hai aperto ma che non hai committato.

Leggi qui a proposito delle transazioni con Entity Framework.
https://msdn.microsoft.com/en-us/data/dn456843.aspx
Vedi per esempio il paragrafo "TransactionScope transactions".

Le cause potrebbero ovviamente essere altre.

ciao,
Moreno
Modificato da BrightSoul il 09 febbraio 2016 20.15 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.