Sto utilizzando EF 6 Code First per il sito Web MVC e il backend di Azure SQL. La pagina SQL di Azure Portal ha un numero di raccomandazioni dell'indice che è possibile applicare con un clic. Tuttavia, non sono sicuro delle implicazioni sul mio modello di dati EF. So che se dovessi aggiungere o rimuovere direttamente tabelle, campi, ecc. Dal database, EF si lamenterà che il mio modello e il DB non sono sincronizzati e le cose vanno male. Che dire degli indici? Se lascio che Azure aggiunga automaticamente un indice raccomandato, EF ne sarà a conoscenza? Causerà problemi?SQL di Azure: l'applicazione delle modifiche di Index Advisor influenzerà le migrazioni EF?
risposta
E gli indici? Se lascio che Azure aggiunga automaticamente un indice raccomandato, EF ne sarà a conoscenza? Sarà causare problemi? ...
EF non ha bisogno di sapere a questo proposito e non causerà alcun problema, la sua Query Optimizer che utilizza tali indici se sono usefull.All raccomandazioni indice dovrebbe essere preso con un pizzico di sale e dovrebbe essere applicato solo dopo un'attenta valutazione.
Nella mia esperienza, sì, le raccomandazioni indice può causare problemi con Entity Framework migrazioni. Non influenzeranno direttamente Entity Framework, ma si connetterà felicemente al database anche se non sa nulla degli indici, ma potresti avere problemi quando arriva il momento di applicare nuove migrazioni.
Ad esempio, si utilizza il portale di Azure per applicare un nuovo indice consigliato a una delle tabelle. In una fase successiva, si rifatta questa tabella e si crea una migrazione che rimuove una colonna. Questa migrazione potrebbe non riuscire quando si tenta di applicarlo, poiché l'indice (di cui EF non è a conoscenza) dipende dalla colonna.
Questo scenario è probabilmente improbabile ma potrebbe farti inciampare dopo aver dimenticato di applicare la raccomandazione. È ancora più un problema se si lascia che Azure applichi automaticamente questi consigli per te. Peggio ancora, probabilmente non colpirete questi problemi fino a quando non provate a distribuirli in produzione: potreste non vederli negli ambienti di staging/test poiché i modelli di utilizzo saranno diversi e quindi le raccomandazioni sugli indici potrebbero essere diverse.
- 1. Tabella SQL Azure non creata con Migrazioni EF
- 2. Problemi di prestazioni SQL/EF di Azure
- 3. EF con Azure - miscelazione di SQL Server e Windows Azure
- 4. SQL Profiler and Tuning Advisor
- 5. "Rebasing" Migrazioni EF
- 6. Migrazioni di EF compatibili con le versioni precedenti
- 7. Code Prime migrazioni in SQL Azure - Le tabelle prive di indice cluster non sono supportate
- 8. Migrazioni EF: RenameColumn in Migrazioni automatiche?
- 9. EF 4.3 Migrazioni di codice con CreateIndex e argomenti anonimi
- 10. Migrazioni EF su server di build CI
- 11. Come eseguire migrazioni EF durante la distribuzione nel sito Web di Azure tramite Visual Studio Online
- 12. Prima stringa di connessione del database EF di SQL Azure nel portale di gestione di Azure
- 13. Come arrestare EF (codice prima) Controllo delle modifiche dello schema
- 14. Integrazione continua con codice EF Prime migrazioni
- 15. Entity Framework e SQL Server Tuning Advisor
- 16. Utilizzo del database di aggiornamento nelle migrazioni EF quando distribuito in Azure
- 17. EF: le migrazioni automatiche sono in esecuzione quando disabilitate
- 18. Qual è il modo consigliato di eseguire le migrazioni di Sud prima delle migrazioni di Django 1.7?
- 19. Come applicare le migrazioni dal codice (EF Core)
- 20. Migrazioni EF, Output Text to Nuget Console
- 21. Impostazione stringa di connessione EF nell'app Web di Azure
- 22. Generazione di una vista SQL dal codice EF 6.1 prima
- 23. Codice EF prima migrazione getta StackOverflowException su Azure Web Role
- 24. Perché Django esegue migrazioni per le modifiche help_text e verbose_name?
- 25. Prima migrazione di EF non in esecuzione dopo la distribuzione in Azure
- 26. Associazioni in Sequenza delle migrazioni
- 27. Periodo di conservazione in SQL Server 2008 Monitoraggio delle modifiche
- 28. Migrazioni di Django con RunPython per eseguire il commit delle modifiche
- 29. EF 4.3 Migrazioni automatiche con più DbContexts in un database
- 30. Problema di convalida con Windows Azure, EF e MVC3