Domanda

Sto usando modello in codice prima in V4.1 Entity Framework. Una delle cose che mi sono imbattuto in cui sembra davvero strana è che ogni volta che si apportano modifiche nel modello del database è solo caduto e ha creato nuovi. Questo è molto disordinato perché ogni caduta e ricreare il database non è la soluzione ideale. Tutti i miei dati di test e tutto si perde. So che c'è un metodo chiamato seme e si può mettere record di dati di test per inserire lì. Tuttavia ci possono essere pochi 100s di record di prova e non è praticabile per mettere ogni singolo record nel metodo di seme. C'è qualche altra alternativa a questo? Non avrei codice prima utilizzato a tutti, ma è obbligatorio utilizzarlo in progetto.

È stato utile?

Soluzione

No, non c'è attualmente nessun altro metodo e EF stessa sarà probabilmente mai sostenere nulla di più di cadere / ricreare. Il team ha scelto modo ADO.NET utilizza strumento separato per il database di aggiornamento chiamato Migrazioni . Le migrazioni sono attualmente disponibili solo in CTP = non sono adatti per l'utilizzo reale, ma per il test e la raccolta di nuovo feedback al team di EF.

Per risolvere il problema si può avere lo script popolazione di dati esterni e chiamare da seme - sarà molto più facile per la manutenzione.

Altri suggerimenti

È possibile impostare fino a EF solo tentare di modificare il database se non esiste già.

Database.SetInitializer<YourDataContext>(new CreateDatabaseIfNotExists<YourDataContext>());
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top