Come anticipato sul forum, sono disponibili le slide e le demo mostrate nel corso del "Community After Hour" svoltosi a Bologna. Poichè gli assenti potrebbero potrebbero avere qualche difficoltà nel districarsi con il codice del LINQ provider, ecco un "riassunto delle puntate precedenti":
- In Managed Designs stiamo provando a implementare un "mini" Linq 2 SQL Mobile: la codebase della demo è fondamentalmente lo stato attuale di questo "esercizio di stile" quindi non sparate sul pianista solo perchè non sono (ancora) supportate funzionalità indispensabili quali: transazioni distribuite, object tracking, persistence ignorance, ... <g>
- Non provate a compilarlo per Compact Framework perchè non funzionerebbe nemmeno a martellate: il CF infatti non supporta gli Expression Trees e quindi il provider non può funzionare. Due considerazioni: 1) Gli Expression Trees non sono supportati perchè necessitano di alcune funzionalità di Reflection.Emit che su CF non sono implementate, quindi 2) stiamo provando a "backportare" tutto questo stack (Emit+ET) partendo dal sorgente di Mono
- Il provider definisce (sotto forma di expression tree) un object model in grado di esprimere la query che deve essere eseguita. Esistono due Visitor che hanno, rispettivamente, la responsabilità di trasformare l'expression tree di LINQ in quello intermedio (classe QueryBinder) e di trasformare quest'ultimo nel codice SQL che deve essere eseguito (classe QueryFormatter).
- La "feature" davvero imperdibile del workshop è stata la cena: compagnia spettacolare e la "combo" grigliata mista (abbondante) di carne + patate fritte + beveraggio + dolce==12.30 euro. A Milano per questa cifra otterrei solo "coperto e servizio": senza parole, se non... +1 per Alessandro!
Per eventuali domande inerenti la demo dedicata ad OOXML rompete pure le o_O a Mauro, così la smette di giocare con Entity Framework <g>