121 messaggi dal 06 giugno 2005
Salve,
ho creato un'applicazione web che per fare alcune funzioni salva nella Session una query Linq. Per questioni di scalabilità ho configurato il salvataggio della Session su MSSQL. Il problema è che non riesce a salvare la mia query nel database restituendomi sempre un errore, perchè a quanto pare le query di linq non sono serializzabili.
Come posso fare?

Grazie mille
Ciao, purtroppo le query LINQ non sono serializzabili. Se hai necessità di salvare in sessione una query (e non il suo resultset) immagino che sia perchè, ad es., vuoi comporne la definizione nell'arco di due pagine. In questo caso ti consiglierei di salvare in sessione le lambda expression, che invece sono serializzabili.
121 messaggi dal 06 giugno 2005
Cioè salvando _query.Expression.ToString nella Session e poi ricreando l'espressione a runtime quando ne ho bisogno?
Intendo salvando ad es. la lambda expression di una where
Func<Articoli, bool> expr = a => a.Id == 15;


Questo è serializzabile. Non sono sicuro tu possa ricostruire la query linq dalla sua Expression.ToString().

m.

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.