Domanda

Utilizziamo subsonic come orm di sorta (davvero più di un query-helper).Per una ragione o per l'altra, abbiamo un po 'di uno schema dinamico e in quanto tale determinate tabelle hanno generato nomi di colonne e tali.Bene, questo è stato tutto bene e dandy fino ad ora.Ora, le nostre colonne generate dalla produzione non corrispondono alle nostre colonne generate allo sviluppo.Il primo lavoro in cui è venuto in mente è solo rigenerare i file subsponsi prima di distribuire i server di produzione, ma questo sembra un po 'disordinato.C'è un modo migliore di questo?

Nota, che queste colonne generate non vengono mai utilizzate dall'ORM, ma a volte facciamo abbassare le righe intera usando

var data=MyData.DynamicTable.SingleOrDefault(x => x.id==1);
.

Ciò avrebbe provato un errore nella produzione, tuttavia utilizzando i file subsponsi generati da sviluppo durante il tentativo di caricare GeneratedColumn10 o qualsiasi altra cosa, che esiste nello sviluppo ma non nella produzione.

È stato utile?

Soluzione

Ho effettivamente terminato la modifica del provider di SQLServer in modo che controlli ciascun nome di colonna contro un regex per decidere se la colonna deve essere inclusa o meno.È importante notare che devi farlo per entrambe le colonne e per dove cerca le chiavi straniere

Altri suggerimenti

È possibile creare il tuo DAL rispetto al DB di produzione e usarlo con il tuo server di sviluppo.A meno che le tue colonne aggiuntive non siano nullabili e non dispongono di valore predefinito specificato e inserire le query.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top