EF7 Escludi classe / DbSet da Aggiungi operazione di migrazione

code-first-migrations entity-framework-core

Domanda

(Versione 7.0.0-beta5)

Esiste un modo per escludere una classe o DbSet da includere nella valutazione del comando migration add ?

Il database che sto costruendo includerà alcune tabelle che vengono replicate da un altro ambiente. Devono essere inclusi in DbContext in modo che possano essere interrogati e uniti, ma non dovrebbero mai generare migrazioni per loro.

Qual è la migliore pratica in questa situazione?

Risposta accettata

A partire da beta6, ciò che funziona meglio per me è garantire che DbContextModelSnapshot includa i mapping per le entità replicate.

Una volta che le entità sono state mappate, il processo di scaffolding della migrazione confronta lo snapshot del modello con le entità per determinare se ci sono cambiamenti. Poiché le classi di entità corrispondono allo snapshot del modello, non vengono generate migrazioni relative a tali entità. Quando DbContextModelSnapshot viene rigenerato e sovrascritto, mantiene gli stessi mapping perché non ci sono state modifiche.

Anche in futuro potrebbe esserci una funzionalità che potrebbe aiutare in questo, come visto in questo numero - senza promesse però, e non per la prima versione. https://github.com/aspnet/EntityFramework/issues/2725


Risposta popolare

È possibile rimuovere manualmente le creazioni o le alterazioni dal file di migrazione.



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché