Running DNX (EF7) database migration on Azure

asp.net azure database-migration dnx entity-framework-core

Question

I've been running a MVC project with ASP.NET 4.6 and EF7 locally and everything works fine. I ran the dnx . ef migration Initial commands to create the database tables, and everything ran fine. The app works.

With Azure I have one problem, I can't seem to run the dnx . ef migration command so my SQL database is empty. I've debugged Startup.cs and the connection string is correctly retrieved, but the tables are not there.

I used the Publish option in Visual Studio 2015 to deploy to my Azure Web App.

How can I run this command on my web app? Is there another way to generate the database?

Thanks

Accepted Answer

It seems that the EF team has eliminated the infamous database initializers and offers a more versatile method for that on version 7.

Just use these methods in the pipeline before any call to the database,

yourDbContext.Database.EnsureCreated();

to create the database in case it doesn't exists and

yourDbContext.Database.Migrate();

to apply migrations (if you use this feature later). Both methods above also have an asynchronous version.

In my solution I have created an static class that I use to initialize the database and seed it with some data. I call the Seed method from the Configure method in the Startup class when some condition is met.



Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Is this KB legal? Yes, learn why
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Is this KB legal? Yes, learn why