Classe IDCollection
copia linkTrascrizione
La libreria IDCollection, quali vantaggi offre e quali sono le caratteristiche… ma soprattutto cos’è una Collection? Dall’inizio di questa sezione vi ho sempre detto che il documento rappresenta 1 record che arriva dal database, beh molto semplicemente una collezione di documenti è chiamata Collection, quindi l’insieme di 20 Documenti è una collection di documenti, 40 Documenti di tipo Appartamento è una Collection di Documenti i cui oggetti contenuti sono di tipo Appartamento.
La libreria IDCollection contiene funzionalità che servono a manipolare e gestire un insieme di documenti: ad esempio volessi ordinare per un determinato campo gli elementi in memoria di una collection nella libreria IDCollection troverei il metodo opportuno, volessi salvare le modifiche dell’intera collection sul database troverei un metodo di salvataggio.
Quindi domanda… oltre alla definizione dei Documenti con la libreria IDDocument devo definire tutte le Collection di documenti nell’albero di progetto? NO, questa operazione non è necessaria, Instant Developer tratterà un insieme di documenti, in maniera automatica come una collection.
C’è un caso però dove la definizione della collection nell’albero è necessaria, e precisamente quando la Collection è figlia di un determinato documento.
Faccio subito un esempio: nella tabella Appartamenti è presente una foreign key IDCOMUNE che punta alla tabella Localita; questo significa che esistono più appartamenti per la stessa Località, ma posso anche ribaltare il discorso e dire che per ogni Località esistono più appartamenti… Località è il padre e Appartamenti sono i figli, o meglio Località è la tabella Master e Appartamenti la tabella Detail.
Per portare in memoria 1 Località nella classe Comune e tutti i relativi appartamenti devo necessariamente eseguire 2 Query: una carica in memoria la località desiderata dentro a un oggetto documentale di tipo Comune, ed un’altra query carica in memoria gli Appartamenti creando una collection con documenti di tipo Appartamento… anche Instant Developer, dietro le quinte, esegue questa operazione ma vorrei che il tutto fosse a noi trasparente, io vorrei poter dire con una singola riga di codice carica in memoria la località X con tutti i suoi appartamenti.
Per ottenere questo risultato, definisco nella classe documentale Comune una nuova proprietà che possa contenere l’insieme degli appartamenti, cioè definisco una proprietà Collection Appartamenti; ovviamente un documento potrà avere diverse Collection di secondo livello, tutto dipende dal modello dei dati definito sul database.
Nel prossimo tutorial aggiungeremo al progetto la prima collection.
La libreria IDCollection contiene funzionalità che servono a manipolare e gestire un insieme di documenti: ad esempio volessi ordinare per un determinato campo gli elementi in memoria di una collection nella libreria IDCollection troverei il metodo opportuno, volessi salvare le modifiche dell’intera collection sul database troverei un metodo di salvataggio.
Quindi domanda… oltre alla definizione dei Documenti con la libreria IDDocument devo definire tutte le Collection di documenti nell’albero di progetto? NO, questa operazione non è necessaria, Instant Developer tratterà un insieme di documenti, in maniera automatica come una collection.
C’è un caso però dove la definizione della collection nell’albero è necessaria, e precisamente quando la Collection è figlia di un determinato documento.
Faccio subito un esempio: nella tabella Appartamenti è presente una foreign key IDCOMUNE che punta alla tabella Localita; questo significa che esistono più appartamenti per la stessa Località, ma posso anche ribaltare il discorso e dire che per ogni Località esistono più appartamenti… Località è il padre e Appartamenti sono i figli, o meglio Località è la tabella Master e Appartamenti la tabella Detail.
Per portare in memoria 1 Località nella classe Comune e tutti i relativi appartamenti devo necessariamente eseguire 2 Query: una carica in memoria la località desiderata dentro a un oggetto documentale di tipo Comune, ed un’altra query carica in memoria gli Appartamenti creando una collection con documenti di tipo Appartamento… anche Instant Developer, dietro le quinte, esegue questa operazione ma vorrei che il tutto fosse a noi trasparente, io vorrei poter dire con una singola riga di codice carica in memoria la località X con tutti i suoi appartamenti.
Per ottenere questo risultato, definisco nella classe documentale Comune una nuova proprietà che possa contenere l’insieme degli appartamenti, cioè definisco una proprietà Collection Appartamenti; ovviamente un documento potrà avere diverse Collection di secondo livello, tutto dipende dal modello dei dati definito sul database.
Nel prossimo tutorial aggiungeremo al progetto la prima collection.
Ultima modifica: 24/03/2021 / Validità: da 20.0.7800