рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБред
рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛрд░ 3.0.0 рдиреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рддрд╛ 'рдкреЛрдореЗрд▓реЛ.рдПрдВрдЯрд┐рдЯреАрдлреНрд░реЗрдорд╡рд░реНрдХрдХреЛрд░.рдорд╛рдИрдПрд╕рдХреНрд▓' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 'рдПрдкреНрд▓реАрдХреЗрд╢рди рдбреАрдмреАрдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ' рд╢реБрд░реВ рдХрд┐рдпрд╛: рдореИрдХреНрд╕рдкреВрд▓рд╕рд╛рдЗрдЬ = 128 рд╕рд░реНрд╡рд░рд╡рд░реНрд╕рди 5.7.22 рдорд╛рдпрдПрд╕рдХреНрдпреВрдПрд▓
ASP.NET рдХреЛрд░ рдкрд╣рдЪрд╛рди рдХреЗ рд▓рд┐рдП рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ SQL рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдорд┐рд▓рддреЗ рд╣реИрдВ, рдЬрдм рдореИрдВ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди (рдХреЗрд╡рд▓ рдкрд╣рд▓реА рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВ) рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ nvarchar рдФрд░ nvarchar(max) рдореБрджреНрджреЗ рд╣реИрдВред
рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдВ AspNetRoles
(
Id
nvarchar(450) рдиреНрдпреВрд▓ рдирд╣реАрдВ,
Name
nvarchar(256) NULL,
NormalizedName
nvarchar(256) NULL,
ConcurrencyStamp
nvarchar(max) NULL,
рдмрд╛рдзрд╛ PK_AspNetRoles
рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА ( Id
)
);
рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рджреМрд░рд╛рди 4 рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкрд╛рдИ рдЧрдИрдВред
рдЕрдкрд░рд┐рдЪрд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ред (рд╕реНрдерд┐рддрд┐ 39 рдкрд░ "рдирд╡рд░рдЪрд░" рдХреЗ рдкрд╛рд╕)
рдЕрдкрд░рд┐рдЪрд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ред (рд╕реНрдерд┐рддрд┐ 75 рдкрд░ "рдирд╡рд░рдЪрд░" рдХреЗ рдкрд╛рд╕)
рдЕрдкрд░рд┐рдЪрд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ред (рд╕реНрдерд┐рддрд┐ 117 рдкрд░ "рдирд╡рд░рдЪрд░" рдХреЗ рдкрд╛рд╕)
рдЕрдкрд░рд┐рдЪрд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ред (161 рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ "рдирд╡рд░рдЪрд░" рдХреЗ рдкрд╛рд╕)
рдПрд╕рдХреНрдпреВрдПрд▓ рдХреНрд╡реЗрд░реА:
рдЯреЗрдмрд▓ рдмрдирд╛рдПрдВ AspNetRoles
( Id
nvarchar(450) NOT NULL, Name
nvarchar(256) NULL, NormalizedName
nvarchar(256) NULL, ConcurrencyStamp
nvarchar(рдЕрдзрд┐рдХрддрдо) рдирд▓, рдмрд╛рдзрд╛ PK_AspNetRoles
рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА ( Id
))
MySQL рдиреЗ рдХрд╣рд╛: рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг
CONSTRAINT `PK_AspNetRoles` PRIMARY KEY (`Id`)
)' рд▓рд╛рдЗрди 5 . рдкрд░
MySQL рд╕рдВрд╕реНрдХрд░рдг: 5.7.22
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рд╡рд┐рдВрдбреЛрдЬ 10
Pomelo.EntityFrameworkCore.MySql рд╕рдВрд╕реНрдХрд░рдг: 3.0.0-rc1. final
Microsoft.AspNetCore.App рд╕рдВрд╕реНрдХрд░рдг: 3.0
#863 рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп, рдореБрдЭреЗ dotnet ef update database
рдХрдорд╛рдВрдб рдкрд░ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИ, рдЬреЛ рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рд╕рдорд╛рди рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЕрднреА рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рдПрдХ рдирдпрд╛ ASP.NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ (рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдХрд▓реНрдк рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рде), EF рдХреЛрд░ рдкреНрд░рджрд╛рддрд╛ рдХреЛ Pomelo.EntityFrameworkCore.MySql
рдмрджрд▓реЗрдВ рдФрд░ рдлрд┐рд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдпрд╛ рдЕрдкрдбреЗрдЯ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБред
рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡реАрдПрд╕ рдиреЗ рдорд╛рдирд╛ рдХрд┐ рдЖрдк SQL рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрд╕рдиреЗ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдкрд╣рд▓реЗ рд╣реА CreateIdentitySchema
рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди .\Data\Migrations\00000000000000_CreateIdentitySchema.cs
( Up
рдпреБрдХреНрдд) рдЬреЛрдбрд╝ рджрд┐рдпрд╛ред Down
рд╕рдВрдЪрд╛рд▓рди) рдФрд░ .\Data\Migrations\00000000000000_CreateIdentitySchema.Designer.cs
(рдЕрддреНрдпрдзрд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдирд┐рд░реНрднрд░ рд▓рдХреНрд╖реНрдп рдореЙрдбрд▓ рдпреБрдХреНрдд), рдЬреЛ SQL рд╕рд░реНрд╡рд░ рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдП рдЧрдП рдереЗред
рдпрджрд┐ рдЖрдк SQL рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдХрджрдо рдХрдо рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдореЗрдВ рдЧрд▓рдд рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╣реЛрдЧрд╛ред
рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ MySQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ SQL рд╕рд░реНрд╡рд░ рдХрд╛ рднреА рдирд╣реАрдВ, рддреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ UseMySql()
рдХреЛ рдЖрдкрдХреЗ ConfigureServices
рд╡рд┐рдзрд┐ рдореЗрдВ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ:
```рд╕реА#
рд╡рд┐рдХрд▓реНрдкред рдЙрдкрдпреЛрдЧ рдорд╛рдпрдПрд╕рдХреНрдпреВрдПрд▓ (
Configuration.GetConnectionString("DefaultConnection"));
Then delete the entire `Migrations` folder and just run something similar to the following command, to recreate the initial migration compatible with MySQL:
рдбреЙрдЯрдиреЗрдЯ рдПрдлрдИ рдорд╛рдЗрдЧреНрд░реЗрд╢рди CreateIdentitySchema рдЬреЛрдбрд╝реЗрдВ
After that, the newly created initial migration will be compatible with MySQL and other operations based on that migration will be as well.
For example, the `CREATE TABLE` script for `AspNetRoles` when creating a migration script (by using `dotnet ef migrations script`) will look like this:
```sql
CREATE TABLE `AspNetRoles` (
`Id` varchar(255) NOT NULL,
`Name` varchar(256) NULL,
`NormalizedName` varchar(256) NULL,
`ConcurrencyStamp` longtext NULL,
CONSTRAINT `PK_AspNetRoles` PRIMARY KEY (`Id`)
);
рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рдПрдХ рдирдпрд╛ ASP.NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ (рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдХрд▓реНрдк рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рде), EF рдХреЛрд░ рдкреНрд░рджрд╛рддрд╛ рдХреЛ
Pomelo.EntityFrameworkCore.MySql
рдмрджрд▓реЗрдВ рдФрд░ рдлрд┐рд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдпрд╛ рдЕрдкрдбреЗрдЯ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБредрдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡реАрдПрд╕ рдиреЗ рдорд╛рдирд╛ рдХрд┐ рдЖрдк SQL рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрд╕рдиреЗ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдкрд╣рд▓реЗ рд╣реА
CreateIdentitySchema
рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди.\Data\Migrations\00000000000000_CreateIdentitySchema.cs
(Up
рдпреБрдХреНрдд) рдЬреЛрдбрд╝ рджрд┐рдпрд╛редDown
рд╕рдВрдЪрд╛рд▓рди) рдФрд░.\Data\Migrations\00000000000000_CreateIdentitySchema.Designer.cs
(рдЕрддреНрдпрдзрд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдирд┐рд░реНрднрд░ рд▓рдХреНрд╖реНрдп рдореЙрдбрд▓ рдпреБрдХреНрдд), рдЬреЛ SQL рд╕рд░реНрд╡рд░ рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдП рдЧрдП рдереЗред
Pomelo.EntityFrameworkCore.MySql рд╡рд░реНрдЬрди 2.2 рдореЗрдВ, рдпрд╣ CreateIdentitySchema рдХреЛ рдбрд┐рд▓реАрдЯ рдФрд░ рд░реАрдХреНрд░рд┐рдПрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ,
рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдБ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрддреНрдкрдиреНрди
CREATE TABLE `aspnetroles` (
`Id` varchar(255) NOT NULL,
`Name` varchar(256) DEFAULT NULL,
`NormalizedName` varchar(256) DEFAULT NULL,
`ConcurrencyStamp` longtext,
PRIMARY KEY (`Id`),
UNIQUE KEY `RoleNameIndex` (`NormalizedName`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
рдмрд┐рдирд╛ рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ,
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ 3.0+ рдХреЛ рд╕рдВрдЧрддрддрд╛ рдФрд░ рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдХреНрдпрд╛ рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ?
рдзрдиреНрдпрд╡рд╛рдж,
Pomelo.EntityFrameworkCore.MySql рд╡рд░реНрдЬрди 2.2 рдореЗрдВ, рдпрд╣ CreateIdentitySchema рдХреЛ рдбрд┐рд▓реАрдЯ рдФрд░ рд░реАрдХреНрд░рд┐рдПрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдкреЛрдореЗрд▓реЛ 2.2 рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди (рдФрд░ рдХреБрдВрдЬреА рдкреНрд░рдХрд╛рд░) рдкрд░ рдЕрддреНрдпрдзрд┐рдХ рдирд┐рд░реНрднрд░ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рд╡реИрдз рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдФрд░ рдореЙрдбрд▓ рдкрд░рд┐рднрд╛рд╖рд╛ рдорд┐рд▓рддреА рд╣реИ, рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╕рдордп рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рджрдо рдкрд░ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди рдХреЛрдб рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рд╕рд╛ рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ (рдпрд╣ рдЖрдкрдХреЗ MySQL рдЬреНрдЮрд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рдпрд╛рд╕ рдХреЗ рдмрд┐рдирд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
3.0 рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдП рд╣реИрдВ (рдЬрд┐рдиреНрд╣реЗрдВ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЯреИрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП), рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдмрдбрд╝реЗ рдпрд╛ рдЫреЛрдЯреЗ рдЕрдкрдЧреНрд░реЗрдб рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд▓реЗ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдкрд╣рд▓реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред
рдмрд┐рдирд╛ рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рдХреЗ,
[...]
рдХреНрдпрд╛ рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ?
3.0 рдореЗрдВ рдЖрдк рдХрд┐рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдареЛрд╕ рд░реВрдк рд╕реЗ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
2.2.6 рд╕реЗ 3.0.0 рддрдХ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдП рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдмреЗрдЭрд┐рдЭрдХ рд╣рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдореЙрдбрд▓ рд╡рд░реНрдЧ, рдЗрд╕рдХреА рдкрд░рд┐рднрд╛рд╖рд╛, рдЙрддреНрдкрдиреНрди рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдФрд░ рдкрд░рд┐рдгрд╛рдореА SQL рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ, рддрд╛рдХрд┐ рд╣рдо рдЖрдкрдХреА рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд╕рдХреЗрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рдПрдХ рдирдпрд╛ ASP.NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ (рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдХрд▓реНрдк рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рде), EF рдХреЛрд░ рдкреНрд░рджрд╛рддрд╛ рдХреЛ
Pomelo.EntityFrameworkCore.MySql
рдмрджрд▓реЗрдВ рдФрд░ рдлрд┐рд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдпрд╛ рдЕрдкрдбреЗрдЯ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБредрдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡реАрдПрд╕ рдиреЗ рдорд╛рдирд╛ рдХрд┐ рдЖрдк SQL рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрд╕рдиреЗ рдЖрдкрдХреА рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдкрд╣рд▓реЗ рд╣реА
CreateIdentitySchema
рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рдЗрдЧреНрд░реЗрд╢рди.\Data\Migrations\00000000000000_CreateIdentitySchema.cs
(Up
рдпреБрдХреНрдд) рдЬреЛрдбрд╝ рджрд┐рдпрд╛редDown
рд╕рдВрдЪрд╛рд▓рди) рдФрд░.\Data\Migrations\00000000000000_CreateIdentitySchema.Designer.cs
(рдЕрддреНрдпрдзрд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдирд┐рд░реНрднрд░ рд▓рдХреНрд╖реНрдп рдореЙрдбрд▓ рдпреБрдХреНрдд), рдЬреЛ SQL рд╕рд░реНрд╡рд░ рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдП рдЧрдП рдереЗредрдпрджрд┐ рдЖрдк SQL рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдХрджрдо рдХрдо рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдореЗрдВ рдЧрд▓рдд рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд╣реЛрдЧрд╛ред
рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ MySQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ SQL рд╕рд░реНрд╡рд░ рдХрд╛ рднреА рдирд╣реАрдВ, рддреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐
UseMySql()
рдХреЛ рдЖрдкрдХреЗConfigureServices
рд╡рд┐рдзрд┐ рдореЗрдВ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ:```рд╕реА#
рд╡рд┐рдХрд▓реНрдкред рдЙрдкрдпреЛрдЧ рдорд╛рдпрдПрд╕рдХреНрдпреВрдПрд▓ (
Configuration.GetConnectionString("DefaultConnection"));
рдбреЙрдЯрдиреЗрдЯ рдПрдлрдИ рдорд╛рдЗрдЧреНрд░реЗрд╢рди CreateIdentitySchema рдЬреЛрдбрд╝реЗрдВ