Asp.net core使用ORM工具进行数据库迁移

Asp.net core uses ORM tools for database migration

我是asp.net核心的新手,不同的语言可能有自己的数据集迁移框架。在 asp.net 核心中,如何将我的 mysql 字段迁移到我的项目中?以前都是模型class的字段写好映射到数据库。现在,如何将数据库映射到模型 class?我找到了这篇文章,但请告诉我怎么做,请原谅我的问题。

https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/complex-data-model?view=aspnetcore-6.0

我做了一个数据库到模型映射的demo,你可以参考一下

首先,这里是需要的 Nuget 包:

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.22" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.22">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.22">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="MySql.Data.EntityFrameworkCore" Version="8.0.22" />
  </ItemGroup>

</Project>

然后输入这个命令生成你需要的模型文件

Scaffold-DbContext "mysql connection" MySql.Data.EntityFrameworkCore -OutputDir Models

您需要填写您的数据库连接地址,并选择输出到哪个目录。我这边是Models目录。

正在创建 Connector/NET 连接字符串:

https://dev.mysql.com/doc/connector-net/en/connector-net-connections-string.html

Table 在 mysql:

最终生成的文件:

 public partial class User
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Pwd { get; set; }
    }

可以参考这篇文章:

https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework-core-scaffold-example.html