Creazione oggetti IDDocument da tabelle database
copia linkTrascrizione
Siamo arrivati al momento di dover definire una classe IDDocument che abbia come riferimento una tabella database; l’operazione deve essere effettuata nell’albero di progetto trascinando la tabella desiderata sull’applicazione desiderata.
Se ricordate vi ho accennato che all’interno dello stesso progetto possono coesistere applicazioni di diverse tipologie, dunque in tutte le applicazioni presenti nell’albero dovremmo costruire la classe documentale di riferimento. È un buon metodo definire la struttura del medesimo oggetto più volte? La risposta è NO per diversi motivi, il principale è che per qualsiasi modifica a metodi, eventi proprietà dobbiamo modificare le n definizioni.
Quindi dove possiamo definire la classe? Ci vorrebbe un oggetto condiviso dove poter inserire le classi… possiamo sfruttare il concetto di componente. Il componente in un progetto è una libreria di classi, videate etc che può essere condivisa tra le applicazioni e con il metodo di esportazione anche tra progetti e sarà compilata, al bisogno, insieme all’applicazione principale.
Ipotizziamo di avere nel progetto una applicazione Web e un'Applicazione mobile ed ovviamente il database con la base dati utilizzata da entrambi le applicazioni; definiamo un componente con tutte le classi documentali riferite al database, il componente verrà compilato insieme all’applicazione Web quando ci serve l’applicazione Web ed insieme all’applicazione Mobile nel caso di applicazione Mobile.
Il componente è unico, potremmo vederlo come una DLL di funzioni che viene innestato o nell’applicazione web o in quella mobile a seconda della compilazione.
E’ conveniente questo approccio e quindi prima di creare le classi IDDocument aggiungiamo al progetto un nuovo componente -> Albero di progetto, mi posiziono sulla radice tasto destro Aggiungi Componente.
Assegno un nome al componente Comp You BB, come potete notare anche il componente ha una tecnologia (che dovrà essere uguale alla tecnologia dell’applicazione) quindi in questo caso C#… troviamo anche qui le impostazioni per le Directory… ad esempio Directory di output è dove verranno prodotti i file della compilazione: è impostato come compcsharp ma possiamo cambiarla.
Confermiamo con Salva il nuovo oggetto inserito ed ora possiamo passare alla creazione delle classi Documentali. L’operazione avviene con il trascinamento della tabella di riferimento sul nome dell’applicazione o componente dove vogliamo effettuare la creazione: noi trascineremo sull’oggetto Comp You Bb…un ultimo punto questa operazione deve essere eseguita con mouse e tastiera precisamente durante il trascinamento tengo premuto CTRL + SHIFT sulla tastiera, proviamo, prendo la tabella Località trascino sul nome Comp You Bb intanto premo CTRL + SHIFT sulla tastiera..ora lascio il mouse e per ultima la tastiera, ed ecco che la classe documentale è stata creata.
Che nome ha assegnato in automatico a questa classe? Vi ricordo che questa classe rappresenterà 1 record della tabella Località; quando abbiamo definito la tabella (DOPPIO CLIC SULLA TABELLA) ci è stato chiesto un valore alla voce Elemento: avendo impostato la parola Comune questa è stata utilizzata per assegnare il nome alla classe documentale.
Analizziamo meglio questa classe, doppio clic sulla classe Comune: potete notare la voce Estende IDDocument, quindi questa classe avrà le proprietà derivate dalla tabella Località più tutti i metodi, eventi e proprietà dell’oggetto base IDDocument.
Chiudo questa scheda ed espando nell’albero di progetto il ramo Comune: troviamo una cartella gialla denominata Proprietà con all’interno tutte le proprietà del documento identiche ai campi della tabella database di riferimento.
Instant Developer ha una caratteristica eccezionale, tutti gli elementi presenti nell’albero di progetto sono in relazione tra loro, questo vuol dire che, ad esempio, posizionandosi sulla proprietà Denominazione, con il mouse tasto Destro Vai a Campo Denominazione -> la selezione viene spostata sull’oggetto Campo che ha generato questa proprietà; aggiungo che qualsiasi modifica effettuata sull’oggetto originale viene propagata agli oggetti figli.
Ipotizziamo di aggiungere un campo alla tabella, automaticamente viene aggiunta la proprietà, si cambiano i nomi a tabelle o campi, automaticamente verranno cambiati i nomi assegnati alla classe documento e così via.
Vi lascio qualche istante, fermate il video e provate a creare le classi documentali relative ad Appartamenti e Media, poi fate ripartire il video e lo ripeteremo insieme.
Eccoci, siete riusciti? lo rifacciamo ancora: prendo la tabella Appartamenti la trascino sul nome del componente CompYouBb con CTRL + SHIFT, lascio mouse e poi tastiera ed ecco la classe Appartamento creata, ripeto la stessa cosa con Media e voilà anche la classe Media è creata.
Possiamo creare classi documentali anche partendo da Viste come la nostra VistaAppartamenti, ovviamente la classe documentale sarà di sola lettura in quanto le Viste non sono oggetti scrivibili sul database.
Con questo step abbiamo creato le classi documentali, le singole classi documentali… Non abbiamo creato una struttura documentale… Lo faremo nei prossimi tutorial avvalendosi della libreria IDCollection.
Se ricordate vi ho accennato che all’interno dello stesso progetto possono coesistere applicazioni di diverse tipologie, dunque in tutte le applicazioni presenti nell’albero dovremmo costruire la classe documentale di riferimento. È un buon metodo definire la struttura del medesimo oggetto più volte? La risposta è NO per diversi motivi, il principale è che per qualsiasi modifica a metodi, eventi proprietà dobbiamo modificare le n definizioni.
Quindi dove possiamo definire la classe? Ci vorrebbe un oggetto condiviso dove poter inserire le classi… possiamo sfruttare il concetto di componente. Il componente in un progetto è una libreria di classi, videate etc che può essere condivisa tra le applicazioni e con il metodo di esportazione anche tra progetti e sarà compilata, al bisogno, insieme all’applicazione principale.
Ipotizziamo di avere nel progetto una applicazione Web e un'Applicazione mobile ed ovviamente il database con la base dati utilizzata da entrambi le applicazioni; definiamo un componente con tutte le classi documentali riferite al database, il componente verrà compilato insieme all’applicazione Web quando ci serve l’applicazione Web ed insieme all’applicazione Mobile nel caso di applicazione Mobile.
Il componente è unico, potremmo vederlo come una DLL di funzioni che viene innestato o nell’applicazione web o in quella mobile a seconda della compilazione.
E’ conveniente questo approccio e quindi prima di creare le classi IDDocument aggiungiamo al progetto un nuovo componente -> Albero di progetto, mi posiziono sulla radice tasto destro Aggiungi Componente.
Assegno un nome al componente Comp You BB, come potete notare anche il componente ha una tecnologia (che dovrà essere uguale alla tecnologia dell’applicazione) quindi in questo caso C#… troviamo anche qui le impostazioni per le Directory… ad esempio Directory di output è dove verranno prodotti i file della compilazione: è impostato come compcsharp ma possiamo cambiarla.
Confermiamo con Salva il nuovo oggetto inserito ed ora possiamo passare alla creazione delle classi Documentali. L’operazione avviene con il trascinamento della tabella di riferimento sul nome dell’applicazione o componente dove vogliamo effettuare la creazione: noi trascineremo sull’oggetto Comp You Bb…un ultimo punto questa operazione deve essere eseguita con mouse e tastiera precisamente durante il trascinamento tengo premuto CTRL + SHIFT sulla tastiera, proviamo, prendo la tabella Località trascino sul nome Comp You Bb intanto premo CTRL + SHIFT sulla tastiera..ora lascio il mouse e per ultima la tastiera, ed ecco che la classe documentale è stata creata.
Che nome ha assegnato in automatico a questa classe? Vi ricordo che questa classe rappresenterà 1 record della tabella Località; quando abbiamo definito la tabella (DOPPIO CLIC SULLA TABELLA) ci è stato chiesto un valore alla voce Elemento: avendo impostato la parola Comune questa è stata utilizzata per assegnare il nome alla classe documentale.
Analizziamo meglio questa classe, doppio clic sulla classe Comune: potete notare la voce Estende IDDocument, quindi questa classe avrà le proprietà derivate dalla tabella Località più tutti i metodi, eventi e proprietà dell’oggetto base IDDocument.
Chiudo questa scheda ed espando nell’albero di progetto il ramo Comune: troviamo una cartella gialla denominata Proprietà con all’interno tutte le proprietà del documento identiche ai campi della tabella database di riferimento.
Instant Developer ha una caratteristica eccezionale, tutti gli elementi presenti nell’albero di progetto sono in relazione tra loro, questo vuol dire che, ad esempio, posizionandosi sulla proprietà Denominazione, con il mouse tasto Destro Vai a Campo Denominazione -> la selezione viene spostata sull’oggetto Campo che ha generato questa proprietà; aggiungo che qualsiasi modifica effettuata sull’oggetto originale viene propagata agli oggetti figli.
Ipotizziamo di aggiungere un campo alla tabella, automaticamente viene aggiunta la proprietà, si cambiano i nomi a tabelle o campi, automaticamente verranno cambiati i nomi assegnati alla classe documento e così via.
Vi lascio qualche istante, fermate il video e provate a creare le classi documentali relative ad Appartamenti e Media, poi fate ripartire il video e lo ripeteremo insieme.
Eccoci, siete riusciti? lo rifacciamo ancora: prendo la tabella Appartamenti la trascino sul nome del componente CompYouBb con CTRL + SHIFT, lascio mouse e poi tastiera ed ecco la classe Appartamento creata, ripeto la stessa cosa con Media e voilà anche la classe Media è creata.
Possiamo creare classi documentali anche partendo da Viste come la nostra VistaAppartamenti, ovviamente la classe documentale sarà di sola lettura in quanto le Viste non sono oggetti scrivibili sul database.
Con questo step abbiamo creato le classi documentali, le singole classi documentali… Non abbiamo creato una struttura documentale… Lo faremo nei prossimi tutorial avvalendosi della libreria IDCollection.
Ultima modifica: 19/03/2021 / Validità: da 20.0.7800