Browse Source

Merge pull request #9080 from abpframework/liangshiwei/docs-patch-1

Update bookstore document
pull/9128/head
Halil İbrahim Kalkan 5 years ago
committed by GitHub
parent
commit
792c36b473
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 18
      docs/en/Tutorials/Part-1.md
  2. 10
      docs/en/Tutorials/Part-10.md
  3. 18
      docs/en/Tutorials/Part-7.md
  4. BIN
      docs/en/Tutorials/images/bookstore-efcore-migration-authors.png
  5. BIN
      docs/en/Tutorials/images/bookstore-efcore-migration.png
  6. 16
      docs/zh-Hans/Tutorials/Part-1.md
  7. BIN
      docs/zh-Hans/Tutorials/images/bookstore-efcore-migration.png

18
docs/en/Tutorials/Part-1.md

@ -177,25 +177,19 @@ namespace Acme.BookStore.EntityFrameworkCore
### Add Database Migration ### Add Database Migration
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 menu *Tools > NuGet Package Manager*. The startup solution is configured to use [Entity Framework Core Code First Migrations](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/). Since we've changed the database mapping configuration, we should create a new migration and apply changes to the database.
![Open Package Manager Console](images/bookstore-open-package-manager-console.png) Open a command-line terminal in the directory of the `Acme.BookStore.EntityFrameworkCore.DbMigrations` project and type the following command:
Select the `Acme.BookStore.EntityFrameworkCore.DbMigrations` as the **default project** and execute the following command:
```bash ```bash
Add-Migration "Created_Book_Entity" dotnet ef migrations add Created_Book_Entity
``` ```
![bookstore-pmc-add-book-migration](./images/bookstore-pmc-add-book-migration-v2.png) This will add a new migration class to the project:
> If you get an error like "*Your startup project ... doesn't reference Microsoft.EntityFrameworkCore.Design. This package is required for the Entity Framework Core Tools to work*", right click to the `Acme.BookStore.EntityFrameworkCore.DbMigrations` project and **Set as the Startup Project** and try again.
This will create a new migration class inside the `Migrations` folder of the `Acme.BookStore.EntityFrameworkCore.DbMigrations` project.
Before updating the database, read the section below to learn how to seed some initial data to the database. ![bookstore-efcore-migration](./images/bookstore-efcore-migration.png)
> If you are using another IDE than the Visual Studio, you can use `dotnet-ef` tool as [documented here](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/?tabs=dotnet-core-cli#create-a-migration). > If you are using Visual Studio, you may want to use `Add-Migration Created_Book_Entity -c BookStoreMigrationsDbContext` and `Update-Database -c BookStoreMigrationsDbContext` commands in the *Package Manager Console (PMC)*. In this case, ensure that {{if UI=="MVC"}}`Acme.BookStore.Web`{{else if UI=="BlazorServer"}}`Acme.BookStore.Blazor`{{else if UI=="Blazor" || UI=="NG"}}`Acme.BookStore.HttpApi.Host`{{end}} is the startup project and `Acme.BookStore.EntityFrameworkCore.DbMigrations` is the *Default Project* in PMC.
{{end}} {{end}}

10
docs/en/Tutorials/Part-10.md

@ -86,14 +86,14 @@ builder.Entity<Book>(b =>
### Add New EF Core Migration ### Add New EF Core Migration
Run the following command in the Package Manager Console (of the Visual Studio) to add a new database migration: The startup solution is configured to use [Entity Framework Core Code First Migrations](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/). Since we've changed the database mapping configuration, we should create a new migration and apply changes to the database.
Open a command-line terminal in the directory of the `Acme.BookStore.EntityFrameworkCore.DbMigrations` project and type the following command:
````bash ````bash
Add-Migration "Added_AuthorId_To_Book" dotnet ef migrations add Added_AuthorId_To_Book
```` ````
> Ensure that the `Acme.BookStore.EntityFrameworkCore.DbMigrations` is the Default project and the `Acme.BookStore.DbMigrator` is the startup project, as always.
This should create a new migration class with the following code in its `Up` method: This should create a new migration class with the following code in its `Up` method:
````csharp ````csharp
@ -121,6 +121,8 @@ migrationBuilder.AddForeignKey(
* Creates an index on the `AuthorId` field. * Creates an index on the `AuthorId` field.
* Declares the foreign key to the `AppAuthors` table. * Declares the foreign key to the `AppAuthors` table.
> If you are using Visual Studio, you may want to use `Add-Migration Added_AuthorId_To_Book -c BookStoreMigrationsDbContext` and `Update-Database -c BookStoreMigrationsDbContext` commands in the *Package Manager Console (PMC)*. In this case, ensure that {{if UI=="MVC"}}`Acme.BookStore.Web`{{else if UI=="BlazorServer"}}`Acme.BookStore.Blazor`{{else if UI=="Blazor" || UI=="NG"}}`Acme.BookStore.HttpApi.Host`{{end}} is the startup project and `Acme.BookStore.EntityFrameworkCore.DbMigrations` is the *Default Project* in PMC.
{{end}} {{end}}
## Change the Data Seeder ## Change the Data Seeder

18
docs/en/Tutorials/Part-7.md

@ -70,19 +70,25 @@ This is just like done for the `Book` entity before, so no need to explain again
## Create a new Database Migration ## Create a new Database Migration
Open the **Package Manager Console** on Visual Studio and ensure that the **Default project** is `Acme.BookStore.EntityFrameworkCore.DbMigrations` in the Package Manager Console, as shown on the picture below. Also, set this project as the **startup project** (right click it on the solution explorer and click to "Set as Startup Project"). The startup solution is configured to use [Entity Framework Core Code First Migrations](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/). Since we've changed the database mapping configuration, we should create a new migration and apply changes to the database.
Run the following command to create a new database migration: Open a command-line terminal in the directory of the `Acme.BookStore.EntityFrameworkCore.DbMigrations` project and type the following command:
````bash ````bash
Add-Migration "Added_Authors" dotnet ef migrations add Added_Authors
```` ````
![bookstore-add-migration-authors](images/bookstore-add-migration-authors.png) This will add a new migration class to the project:
This will create a new migration class. Then run the `Update-Database` command to create the table on the database. ![bookstore-efcore-migration-authors](./images/bookstore-efcore-migration-authors.png)
> See the [Microsoft's documentation](https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/) for more about the EF Core database migrations. You can apply changes to the database using the following command, in the same command-line terminal:
````bash
dotnet ef database update
````
> If you are using Visual Studio, you may want to use `Add-Migration Added_Authors -c BookStoreMigrationsDbContext` and `Update-Database -c BookStoreMigrationsDbContext` commands in the *Package Manager Console (PMC)*. In this case, ensure that {{if UI=="MVC"}}`Acme.BookStore.Web`{{else if UI=="BlazorServer"}}`Acme.BookStore.Blazor`{{else if UI=="Blazor" || UI=="NG"}}`Acme.BookStore.HttpApi.Host`{{end}} is the startup project and `Acme.BookStore.EntityFrameworkCore.DbMigrations` is the *Default Project* in PMC.
{{else if DB=="Mongo"}} {{else if DB=="Mongo"}}

BIN
docs/en/Tutorials/images/bookstore-efcore-migration-authors.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
docs/en/Tutorials/images/bookstore-efcore-migration.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

16
docs/zh-Hans/Tutorials/Part-1.md

@ -185,23 +185,19 @@ namespace Acme.BookStore.EntityFrameworkCore
### 添加数据迁移 ### 添加数据迁移
启动模板使用[EF Core Code First Migrations](https://docs.microsoft.com/zh-cn/ef/core/managing-schemas/migrations/)创建和维护数据库架构. 打开菜单*工具 > NuGet包管理器*下的**程序包管理控制台 (PMC)**. 启动模板使用[EF Core Code First Migrations](https://docs.microsoft.com/zh-cn/ef/core/managing-schemas/migrations/)创建和维护数据库架构. 我们应该创建一个新的迁移并且应用到数据库.
![Open Package Manager Console](images/bookstore-open-package-manager-console.png) 在 `Acme.BookStore.EntityFrameworkCore.DbMigrations` 目录打开命令行终端输入以下命令:
选择 `Acme.BookStore.EntityFrameworkCore.DbMigrations` 做为**默认项目**然后执行以下命令:
```bash ```bash
Add-Migration "Created_Book_Entity" dotnet ef migrations add Created_Book_Entity
``` ```
![bookstore-pmc-add-book-migration](./images/bookstore-pmc-add-book-migration-v2.png) 它会添加新迁移类到项目中:
它会在 `Acme.BookStore.EntityFrameworkCore.DbMigrations` 项目中的 `Migrations` 文件内创建一个新的迁移类.
在更新数据库之前,请阅读下面的部分了解如何将一些初始数据插入到数据库. ![bookstore-efcore-migration](./images/bookstore-efcore-migration.png)
> 如果你使用其他IDE而不是Visual Studio, 你可以使用 [`dotnet-ef`](https://docs.microsoft.com/zh-cn/ef/core/managing-schemas/migrations/?tabs=dotnet-core-cli#create-a-migration) 工具. > 如果你使用Visual Studio, 你也许想要在*包管理控制台(PMC)*中使用 `Add-Migration Created_Book_Entity -c BookStoreMigrationsDbContext` 和 `Update-Database -c BookStoreMigrationsDbContext` 命令. 确保 {{if UI=="MVC"}}`Acme.BookStore.Web`{{else if UI=="BlazorServer"}}`Acme.BookStore.Blazor`{{else if UI=="Blazor" || UI=="NG"}}`Acme.BookStore.HttpApi.Host`{{end}} 是启动项目并且 `Acme.BookStore.EntityFrameworkCore.DbMigrations` 是 PMC 的*默认项目*.
{{end}} {{end}}

BIN
docs/zh-Hans/Tutorials/images/bookstore-efcore-migration.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Loading…
Cancel
Save