agosto 2008 Blog Posts
Quando si parla di Lazy Loading nell' ambito dell' Entity Framework spesso si crea un po' di confusione soprattutto se si fanno dei parallelismi sbagliati con altri ORM. In questo post cercherò quindi di fare un po' di chiarezza a riguardo. L'Entity Framework NON supporta di il Lazy Loading così come lo conosciamo in qualità di design pattern. Piuttosto, l'EF fornisce nativamente gli strumenti per configurare e gestire il "deferred loading". Per questo motivo potremmo dire che, sotto certi punti di vista, nell' EF i meccanismi di lazy loading, lazy initialization, deferred loading, on-demand loading e just-in-time loading praticamente significano...
I modelli concettuali che possiamo definire tramite l' Entity Framework supportano 3 tipi diversi di ereditarietà: Table-per-Hierarchy (TPH): Una tabella del database contiene i dati di tutti i tipi della gerarchia, lasciando ad una colonna il compito di fungere da discriminatore. Table-per-Type (TPT): Una tabella contiene le proprietà dell'Entity base. Ciascun sottotipo mappa quindi le sue specifiche proprietà su una tabella distinta. Table-per-Concrete Class (TPC): Ad ogni tipo della gerarchia viene assegnata una tabella che ne mappa tutte le proprietà, incluse quelle ereditate. Di tutti...
Ultimamente ho avuto modo di riflettere insieme a dei miei colleghi circa gli aspetti in cui LINQ to DataSet interviene per facilitare sensibilmente le interrogazioni in-memory sui DataSet, dando quindi una grossa mano agli sviluppatori di tutte quelle applicazioni .NET data-centric che necessitano di forti meccanismi di caching di dati relazionali. Infatti, fino a ieri il linguaggio bulit-in di interrogazione dei DataSet si rivelava alcune volte poco espressivo o addirittura inadeguato al punto da spingere molti team (ne so qualcosa ;)) ad implementare delle personalizzazioni dei meccanismi di query per ottenere una maggiore produttività soprattutto per quanto concerne operazioni di...
Un po' di tempo fa mi sono imbattutto in un post dell' IEBlog in cui viene mostrato come l'aggiunta "prematura" di elementi al DOM tramite javascript ( ovvero prima che il parser rilevi la corretta chiusura del tag padre dell'elemento aggiunto dinamicamente ) può indurre IE7 alla visualizzazione di un messageBox "Operation aborted" che preclude addirittura la visualizzazione della pagina. Viceversa, se il DOM viene acceduto "troppo tardi" - ad esempio per nascondere degli elementi della pagina come immagini o oggetti embedded - si possono ottenere degli effetti indesiderati di lampeggiamento ("flickers"). Dunque, sorge spesso il dubbio circa quando e...
Uno dei nuovi controlli che troviamo nel tab "Data" della ToolBox di VS2008 è il DataPager. L'interessante funzionalità che esso introduce riguarda la gestione del paging per tutti i controlli "bindabili" che implementano l'interfaccia IPageableItemContainer. In VS2008 l'unico controllo che risponde di default a tale requisito è il controllo ListView. Dunque, se da una parte il ListView e il DataPager costituiscono un' accoppiata già precostituita, dall'altra possiamo adoperarci per "adattare" gli altri data controls (come il GridView) affinchè supportino la paginazione tramite il DataPager. Come è facile intuire, ciò può avvenire estendendo opportunamente tali controlli in...
Oggi mi sono accorto per la prima volta di due feature del debugger di Visual Studio introdotte a partire dalla versione 2005. 1. E' possibile visualizzare la tip del contenuto di una variabile anche per il codice commentato. Basta evidenziare la variabile e posizionarci sopra il puntatore del mouse. 2. E' possibile rendere trasparente una tooltip tenendo premuto Ctrl. Stupore misto a stupore: ma pensano proprio a tutto :) !!! Technorati tags: Visual Studio, Debugger