From af848f93fb2e82579e500af20ca98446d6ed36b2 Mon Sep 17 00:00:00 2001 From: Halil ibrahim Kalkan Date: Wed, 20 Mar 2019 11:19:57 +0300 Subject: [PATCH] Update documents for the DbMigrations change --- .../Getting-Started-AspNetCore-MVC-Template.md | 10 ++++++---- docs/en/Tutorials/AspNetCore-Mvc/Part-I.md | 6 +++--- docs/en/Tutorials/AspNetCore-Mvc/Part-III.md | 2 -- .../bookstore-pmc-add-book-migration-v2.png | Bin 0 -> 7712 bytes .../bookstore-visual-studio-solution-v2.png | Bin 0 -> 8946 bytes .../bookstore-visual-studio-solution-v2.png | Bin 0 -> 8946 bytes docs/en/images/pcm-update-database-v2.png | Bin 0 -> 6441 bytes 7 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 docs/en/Tutorials/AspNetCore-Mvc/images/bookstore-pmc-add-book-migration-v2.png create mode 100644 docs/en/Tutorials/AspNetCore-Mvc/images/bookstore-visual-studio-solution-v2.png create mode 100644 docs/en/images/bookstore-visual-studio-solution-v2.png create mode 100644 docs/en/images/pcm-update-database-v2.png diff --git a/docs/en/Getting-Started-AspNetCore-MVC-Template.md b/docs/en/Getting-Started-AspNetCore-MVC-Template.md index de9a5b09cb..cb24eb543f 100644 --- a/docs/en/Getting-Started-AspNetCore-MVC-Template.md +++ b/docs/en/Getting-Started-AspNetCore-MVC-Template.md @@ -19,9 +19,9 @@ The downloaded project requires; ### The Solution Structure -Extract the zip file downloaded and open in **Visual Studio 2017 (15.7.0+)**: +Extract the zip file downloaded and open in **Visual Studio 2017 (15.9.0+)**: -![bookstore-visual-studio-solution](images/bookstore-visual-studio-solution.png) +![bookstore-visual-studio-solution](images/bookstore-visual-studio-solution-v2.png) The solution has a layered structure (based on Domain Driven Design) where; @@ -30,6 +30,8 @@ The solution has a layered structure (based on Domain Driven Design) where; * ``.Web`` is the presentation layer. * ``.EntityFrameworkCore`` is the EF Core integration package. +EF Core database migrations are separated to a project named `.EntityFrameworkCore.DbMigrations`. + The solution also contains unit & integration test projects properly configured to work with **EF Core** & **SQLite in-memory** database. ### Creating the Database @@ -50,9 +52,9 @@ Right click to the `.Web` project and select **Set as StartUp Project**: ![set-as-startup-project](images/set-as-startup-project.png) -Open the **Package Manager Console**, select `.EntityFrameworkCore` project as the **Default Project** and run the `Update-Database` command: +Open the **Package Manager Console**, select `.EntityFrameworkCore.DbMigrations` project as the **Default Project** and run the `Update-Database` command: -![pcm-update-database](images/pcm-update-database.png) +![pcm-update-database](images/pcm-update-database-v2.png) This will create a new database based on the configured connection string. diff --git a/docs/en/Tutorials/AspNetCore-Mvc/Part-I.md b/docs/en/Tutorials/AspNetCore-Mvc/Part-I.md index 6db6766c0b..337f021587 100644 --- a/docs/en/Tutorials/AspNetCore-Mvc/Part-I.md +++ b/docs/en/Tutorials/AspNetCore-Mvc/Part-I.md @@ -20,7 +20,7 @@ Go to the [startup template page](https://abp.io/Templates) and download a new p This is the how the layered solution structure looks after it's created from the startup template: -![bookstore-visual-studio-solution](images/bookstore-visual-studio-solution.png) +![bookstore-visual-studio-solution](images/bookstore-visual-studio-solution-v2.png) ### Create the Book Entity @@ -91,9 +91,9 @@ EF Core requires you to relate entities with your DbContext. The easiest way to #### Add New Migration & Update the Database -The Startup template uses [EF Core Code First Migrations](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/) to create and maintain the database schema. Open the **Package Manager Console (PMC)** (under the *Tools/Nuget Package Manager* menu), select the `Acme.BookStore.EntityFrameworkCore` as the **default project** and execute the following command: +The Startup template uses [EF Core Code First Migrations](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/) to create and maintain the database schema. Open the **Package Manager Console (PMC)** (under the *Tools/Nuget Package Manager* menu), select the `Acme.BookStore.EntityFrameworkCore.DbMigrations` as the **default project** and execute the following command: -![bookstore-pmc-add-book-migration](images/bookstore-pmc-add-book-migration.png) +![bookstore-pmc-add-book-migration](images/bookstore-pmc-add-book-migration-v2.png) This will create a new migration class inside the `Migrations` folder. Then execute the `Update-Database` command to update the database schema: diff --git a/docs/en/Tutorials/AspNetCore-Mvc/Part-III.md b/docs/en/Tutorials/AspNetCore-Mvc/Part-III.md index a45d406ce6..b70521dad0 100644 --- a/docs/en/Tutorials/AspNetCore-Mvc/Part-III.md +++ b/docs/en/Tutorials/AspNetCore-Mvc/Part-III.md @@ -14,8 +14,6 @@ You can download the **source code** of the application [from here](https://gith There are two test projects in the solution: -![bookstore-test-projects](images/bookstore-test-projects.png) - * `Acme.BookStore.Application.Tests` is for unit & integration tests. You can write tests for application service methods. It uses **EF Core SQLite in-memory** database. * `Acme.BookStore.Web.Tests` is for full stack integration tests including the web layer. So, you can write tests for UI pages too. diff --git a/docs/en/Tutorials/AspNetCore-Mvc/images/bookstore-pmc-add-book-migration-v2.png b/docs/en/Tutorials/AspNetCore-Mvc/images/bookstore-pmc-add-book-migration-v2.png new file mode 100644 index 0000000000000000000000000000000000000000..edf2826361db60d14fe2f8e9860d02d03ae104df GIT binary patch literal 7712 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 literal 0 HcmV?d00001