Se l'uso del ActiveRecord, generare modelli ogni modifico la struttura del database? [chiuso]
-
29-09-2019 - |
Domanda
se è così, penso che sia problemi.
Soluzione
Che cosa è più problemi, un errore di compilazione perché è stato rinominato una colonna o un tempo di esecuzione di errore "xyz colonna non esiste".
Se si desidera modificare le classi generate da soli e sono preoccupati per le modifiche vengano sovrascritti. Ci sono tre modi per apportare modifiche al DAL generato.
-
classi SubSonic sono parziali.
Se si crea un'altra classe all'interno dello stesso spazio dei nomi è possibile aggiungere proprietà / metodi e membri di override (dalla classe base).
-
modificare i modelli.
A seconda della versione SubSonic (2 o 3) ci sono diversi approches come generare il DAL. Ma entrambi condividono un aspx simile come sintassi (2 = personalizzato, 3 = T4 Motore)
-
Eredita dalle classi.
È possibile creare le proprie classi che ereditano da quelli generati. (Non vorrei suggerire di farlo, se si desidera utilizzare xyzCollection di SubSonic2.
Aggiornamento: Il T4 (*) .TT modelli vengono eseguiti solo quando si modifica il file o fare clic destro un file TT e scegliere "Esegui strumento personalizzato". Per SubSonic, dopo uno schema cambiato dovete selezionare "Esegui strumento personalizzato" per ogni file tt si desidera aggiornare (ActiveRecord.tt, Structs.tt, etc.). Tuttavia, T4 è uno strumento autonomo che può essere facilmente integrabile nel vostro processo di compilazione:
http://broloco.blogspot.com/ -line utilizzando-t4-comando-parameters.html 2008/11 /
Altri suggerimenti
Se si utilizza Subsonic, il modello viene ricreata ogni volta che il database viene modificato (automaticamente se si utilizza il provider di compilazione o manualmente se si utilizza Subsonic.exe per generare classi).
Qual è il problema con il fatto che il modello viene rigenerato?