L'aggiunta di immobili da template T4 - la raccolta di server, database, tabelle
-
22-08-2019 - |
Domanda
La gente,
Mi piacerebbe creare alcuni modelli T4 per la generazione di file di classe (circa 7 per tabella) da un database per sostenere la nostra in-house ORM (non chiedere - ragioni storia lunga e storiche .....)
Quello che mi piacerebbe davvero fare è avere una proprietà sul mio modello TT principale per raccogliere visivamente server di database e la tabella per la quale creare i file (qualcosa come il selettore tavolo in CodeSmith).
Dato che non sembra esistere (o lo fa?), Ho pensato che la prossima cosa migliore è usare tre proprietà della stringa per il server, database, nome della tabella, e utilizzare SMO per la connessione a quel tavolo e ottenere i dati che della colonna hanno bisogno.
Ho provato a seguire gli esempi di Oleg Sych, e si avvicinò con:
<#@ property name="serverName" processor="PropertyProcessor" type="System.String" #>
<#@ property name="databaseName" processor="PropertyProcessor" type="System.String" #>
<#@ property name="tableName" processor="PropertyProcessor" type="System.String" #>
, ma poi come faccio fanno riferimento a tali proprietà nel mio blocco di codice che si collega al server specificato utilizzando SMO per recuperare i dati?
<#
Server server = new Server();
Database database = new Database(server, "DASECO_DEV");
Table table = new Table(database, "T_User");
table.Refresh();
#>
Ho provato a mettere un <#= serverName #>
all'interno delle parentesi della Server () constructor - ma questo non funziona :-( Sembra come se fossi un po 'bloccato qui ...... qual è il punto di avere delle proprietà se io non è possibile valutare e utilizzare i loro valori: -!)
Eventuali acquirenti ??
Marc
Soluzione
Che ne dici di questo?
<#
Server server = new Server(serverName);
Database database = new Database(server, databaseName);
Table table = new Table(database, tableName);
table.Refresh();
#>