gennaio 2008 Blog Posts
Ci sono diversi dettagli a cui dobbiamo fare attenzione quando utilizziamo il behaviour di default del controllo LinqDataSource per quanto riguarda le classiche operazioni di Select, Insert, Update, Delete verso un model layer basato su un mapping con tabelle di un database. Infatti, se da una parte questo nuovo controllo rende ancora più immediato ed intuitivo l'accesso al modello dei dati, dall'altra rischia di autogenerare statement SQL spesso non accettabili da un punto di vista di performance, o comunque non sufficientemente ottimizzati per i nostri fini. Riporto quindi alcuni "fatti" da tener presente quando si sfruttano i meccanismi di autogenerazione...
Sebbene si possano utilizzare comodamente strumenti tipo SQL Server Profiler per analizzare gli statement generati da LINQ to SQL, un modo alternativo sicuramente molto veloce si basa sulla proprietà DataContext.Log (di tipo System.IO.TextWriter), che permette di specificare la destinazione su cui verrà scritto automaticamente il log dei comandi/query SQL autogenerati. Ad esempio, il seguente codice: NorthwindDataContext NorthwindDC = new NorthwindDataContext();NorthwindDC.Log = Console.Out;var results = from c in NorthwindDC.Customers where c.CustomerID.StartsWith("A") select new { c.CustomerID, c.ContactName, c.Country }; permette di "forzare" (tramite la riga NorthwindDC.Log = Console.Out;) la scrittura dello statement SQL generato nella console: SELECT [t0].[CustomerID], [t0].[ContactName], [t0].[Country]FROM [dbo].[Customers]...
Oggi per la prima volta ho avuto il piacere di utilizzare (in un progetto reale :)) la Syndacation library di WCF, che mette a disposizione un object model adibito alla creazione/modifica di Feed RSS 2.0 e Atom 1.0. OK... in rete troviamo diverse componenti gratuite (tra cui RSS.NET) , ma bisogna ammettere che avere questa feature integrata nel Framework 3 fa risparmiare un bel po' di tempo, senza tralasciare i vantaggi apportabili alla consistenza del codice :).Riporto dunque una semplice applicazione console che mette in risalto la semplicità di utilizzo dell'objct model: codice assolutamente autoesplicativo ;) !!!using System.ServiceModel.Syndication;using System.Xml;...StringBuilder sb...
Su segnalazione (e invito) di Romeo oggi ho sono venuto a conoscenza di Xobni, un interessante add-in per Outlook che fornisce le seguenti features:1) Lightning fast email search2) Threaded conversations3) Useful social networking features4) Quick attachment discovery5) Automatic phone number extraction P.S.: Attualmente e' scaricabile solo su invito.Technorati tags: Outlook , XOBNI