Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1906, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Visual Studio LightSwitch: ereditarietà delle query

Se avete avuto modo di dare un'occhiata a Visual Studio LightSwitch (non dimenticate il lancio il 26 luglio!), forse sapete che esiste un comodo designer che consente di creare in modo visuale delle query a partire dalle tabelle. In realtà, la terminologia corretta è che si parte dall'entità, quindi una riga della tabella, per arrivare a un entity set, quindi un insieme di entità, a cui corrisponde una tabella nel db.

Ad esempio, se consideriamo il db dimostrativo Northwind, la seguente query filtra l'elenco degli Orders con le condizioni specificate:

In LightSwitch esiste il concetto di ereditarietà delle query, ossia ogni query personalizzata può anche ereditare da una esistente. In effetti anche quando creiamo da zero una query personalizzata nuova, questa eredita dalla query di default che restituisce tutti gli elementi di una tabella e poi viene personalizzata con i filtri che decidiamo. Ora ipotizziamo di voler creare una nuova query che erediti da quella sopra definita. La query nuova si crea esattamente come faremmo di solito (es. tasto destro sulla tabella in Solution Explorer, Add Query) dopodiché si cambia la query di partenza in alto a destra nel Query Designer, come in figura:

A questo punto la query eredita i filtri specificati nella query di origine, anche se non visibili nel designer. Saranno invece visibili solamente i parametri nelle query parametriche, sebbene non modificabili da designer (in quanto ereditati). Ora possiamo aggiungere altri filtri, come nell'esempio seguente:

La query ora contiene 3 filtri, i due specificati nella query di origine più il terzo di quella che eredita. Per visualizzare il risultato dell'operazione è sufficiente creare un Search Screen che punti all'ultima query.

Questa tecnica ha un grande vantaggio: favorisce il riutilizzo delle query, risparmiando quindi del tempo. Se poi voglio intervenire da codice sull'esecuzione della query, ho ancora la possibilità di gestire l'evento PreProcessQuery esattamente come farei con query che non ereditano esplicitamente.

Alessandro

Print | posted on mercoledì 6 luglio 2011 01:12 | Filed Under [ Visual Studio LightSwitch ]

Powered by:
Powered By Subtext Powered By ASP.NET