web services e LINQ
eraser66 non è online. Ultima attività: 29/05/2008 11.05.54eraser66
Inserito il: 14 maggio 2008 11.15
1 messaggio dal 14 mag 2008
Sono appena passato alla nuova tecnologia LINQ, e sto cercando di adattarvi i miei web services (che rappresentano il back-end della mia applicazione).
Da neofita mi sto accorgendo che una volta eseguita una query LINQ dentro un web method classico (non WCF s'intende) l'oggetto "var" che mi restituisce il risultato della query, e che costituisce il dato di ritorno del metodo web, non è serializzabile nè posso farne un upcast verso un qualche altro tipo che consenta la serializzazione. In pratica se prima i miei web metodi restituivano dei dataset come risultato delle interrogazioni db tramite i classici command ADO.NET, ora con LINQ il risultato della query è incapsulato in un oggetto "var" non tipizzato e non serializzabile. Come ne posso uscire???
Grazie
RE: web services e LINQ
novecento non è online. Ultima attività: 05/07/2008 0.22.55novecento
Inserito il: 15 maggio 2008 19.17
contributi / Community manager / www.soluzioni4d.it / Blog / 635 messaggi dal 04 mar 2004
eraser66 ha scritto:
Sono appena passato alla nuova tecnologia LINQ, e sto cercando di adattarvi i miei web services (che rappresentano il back-end della mia applicazione).
Da neofita mi sto accorgendo che una volta eseguita una query LINQ dentro un web method classico (non WCF s'intende) l'oggetto "var" che mi restituisce il risultato della query, e che costituisce il dato di ritorno del metodo web, non è serializzabile nè posso farne un upcast verso un qualche altro tipo che consenta la serializzazione.

Quello che potresti fare è applicare una logica "manuale" di conversione dall'Anonymous Type al tuo dato di ritorno (*) oppure implementare un Domain model e fare in modo che i risultati della "query" link siano oggetti veri e propri e quindi serializzabili.

In pratica se prima i miei web metodi restituivano dei dataset come risultato delle interrogazioni db tramite i classici command ADO.NET, ora con LINQ il risultato della query è incapsulato in un oggetto "var" non tipizzato e non serializzabile. Come ne posso uscire???
Grazie


(*) Ma veramente i tuoi web service restituiscono DataSet? Sicuramente avrai i tuoi motivi ma non è il massimo della "snellezza".

Alessio Leoncini
SilverlightItalia.com
RE: web services e LINQ
AlessC-MSFT non è online. Ultima attività: 03/07/2008 17.33.43AlessC-MSFT
Inserito il: 16 maggio 2008 02.56
Microsoft Employee
contributi / Blog / 152 messaggi dal 04 giu 2007
Il dato var e' una shortcut per un IQueryable<T> dove T e' il tipo della select.
Basta non usare un tipo anonimo e sei a posto.

Saluti

--Alessandro

Vai a:

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.


COMMUNITY
ULTIMI MESSAGGI


IN EVIDENZA
MISC
Powered by .db Forums