Pomelo.entityframeworkcore.mysql: рдорд╛рдЗрдЧреНрд░реЗрд╢рди рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐: рдЕрджреНрд╡рд┐рддреАрдп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛, рдбреЗрдЯрд╛рдЯрд╛рдЗрдо2

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рдирд╡ре░ 2019  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: PomeloFoundation/Pomelo.EntityFrameworkCore.MySql

рдкреНрд░рдЬрдирди рдХрд░рдиреЗ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛

/***   Guid   ***/
modelBuilder.Entity("EntityFrameworkDataAccess.Entities.Account", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");

                    b.Property<Guid>("CustomerId")
                        .HasColumnType("uniqueidentifier");

                    b.HasKey("Id");

                    b.ToTable("Account");
                });

/***   datetime2   ***/
 modelBuilder.Entity("EntityFrameworkDataAccess.Entities.Credit", b =>
                {
                    b.Property<Guid>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("uniqueidentifier");

                    b.Property<Guid>("AccountId")
                        .HasColumnType("uniqueidentifier");

                    b.Property<double>("Amount")
                        .HasColumnType("float");

                    b.Property<DateTime>("TransactionDate")
                        .HasColumnType("datetime2");

                    b.HasKey("Id");

                    b.ToTable("Credit");
                });

рд╕рдорд╕реНрдпрд╛

рдЬрдм рдореИрдВ SQL рд╕рд░реНрд╡рд░ рд╕реЗ MySQL рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдпрд╣ рдХреЙрд▓рдо рдкреНрд░рдХрд╛рд░ рдХреЛ рдЕрджреНрд╡рд┐рддреАрдп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ (GUID) рд╕реЗ char(36) рдореЗрдВ рдмрджрд▓ рд░рд╣рд╛ рд╣реИред

Exception message:
Stack trace:
MySqlException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'uniqueidentifier(36) NOT NULL,

another

MySqlException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'datetime2(6) NOT NULL....

рдЖрдЧреЗ рдХреА рддрдХрдиреАрдХреА рдЬрд╛рдирдХрд╛рд░реА

MySQL 5.7.3:
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: рд╡рд┐рдВрдбреЛрдЬрд╝
Pomelo.EntityFrameworkCore.MySql рд╕рдВрд╕реНрдХрд░рдг: 3.0.0-rc2. final
Microsoft.AspNetCore.App рд╕рдВрд╕реНрдХрд░рдг: 3.0.0

closed-question type-question

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдПрдХрд╛рдзрд┐рдХ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЛ рдПрдордПрд╕рдбреАрдПрди рд▓реЗрдЦреЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:

рд╕рд╛рде рд╣реА, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рд╕реНрд╡рдпрдВ рд╕рдордЭ рд▓рд┐рдпрд╛ рд╣реИ, рдЖрдк рдХреЗрд╡рд▓ HasColumnType() рдХреЙрд▓ рдХреЛ рдПрдХ рд╕рд╛рде рд╣рдЯрд╛рдХрд░ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рдХрд╛рд░ рдореИрдкрд┐рдВрдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддреЗ рд╣реИрдВред


рдореИрдВрдиреЗ MySQL рдХрдиреЗрдХреНрд╢рдирд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ GuidFormat рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА, рдФрд░ рдпрд╣ рдЕрднреА рднреА рд╡рд┐рдлрд▓ рд░рд╣рд╛ред

рдЖрдкрдХреЛ рдЕрдкрдиреА рдореЙрдбрд▓ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд╕рдВрдпреЛрдЬрди рдореЗрдВ GuidFormat рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рдирдореВрдиреЗ рдореБрджреНрджреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд╡реЗ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рд╕рдЯреАрдХ рдореЙрдбрд▓ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛрдб рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдЖрдЬрдорд╛рдпрд╛ рдерд╛ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд GuidFormat рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЖрдкрдиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

GUID

рддреБрдореНрд╣рд╛рд░рд╛ рдХреЛрдб:
```рд╕реА#
рдЦ.рд╕рдВрдкрддреНрддрд┐("рдЦрд╛рддрд╛ рдкрд╣рдЪрд╛рди")
.HasColumnType ("рдЕрджреНрд╡рд┐рддреАрдп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛");

MySQL does not support a type named `uniqueidentifier`. But Pomelo *does* supports multiple options to save a `Guid` in a MySQL table.

See `GuidFormat` on the [MySQL ConnectionString Options](https://mysqlconnector.net/connection-options/) page of MySqlConnector (the underlying library we are using).

The default mapping for `System.Guid` is `char(36)`, which will work out-of-the box without explicitly specifying the `GuidFormat`.

Working code:
```c#
b.Property<Guid>("AccountId")
    .HasColumnType("char(36)");

рджрд┐рдирд╛рдВрдХ рд╕рдордп

рддреБрдореНрд╣рд╛рд░рд╛ рдХреЛрдб:
```рд╕реА#
рдЦ.рд╕рдВрдкрддреНрддрд┐("рдХрд╛рд░реНрдпрд╡рд╛рд╣реА рдХреА рддрд┐рдерд┐")
.HasColumnType ("рдбреЗрдЯрд╛рдЯрд╛рдЗрдо 2");


MySQL does not support a type named `datetime2`. It supports the follow date/time related data types:
- `time`
- `date`
- `datetime`
- `timestamp`

The closest data type MySQL >= 5.6.4 supports to a MSSQL `datetime2` is `datetime(6)`, which will automatically be chosen for a given `datetime`, if your MySQL version supports it.

Working code:
```c#
b.Property<DateTime>("TransactionDate")
    .HasColumnType("datetime");

рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдкреНрд░рдХрд╛рд░

рд╕рднреА рд╕рдорд░реНрдерд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП MySQL рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВред

рд╣рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрдЬрди (SQL рд╕рд░реНрд╡рд░ рдФрд░ MySQL) рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдЪрд╛рд╣рд┐рдПред
рдореИрдВрдиреЗ MySQL рдХрдиреЗрдХреНрд╢рдирд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ GuidFormat рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА, рдФрд░ рдпрд╣ рдЕрднреА рднреА рд╡рд┐рдлрд▓ рд░рд╣рд╛ред

Pomelo v2.2.6 рдХреА рддреБрд▓рдирд╛ рдирд╡реАрдирддрдо 3.0.0-rc рд╕реЗ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ Migrations.cs рдФрд░ Migrations.Designer.cs рд╕реЗ .HasColumnType("uniqueidentifier") рдФрд░ .HasColumnType("datetime2") рдХреЛ рднреА рд╣рдЯрд╛рдирд╛ рд╣реЛрдЧрд╛, рд╕рд╛рде рд╣реА ContextModelSnapshot.cs рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рдЪрд╛рд░ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдЕрдк рдФрд░ рдбрд╛рдЙрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЛ рд░реЛрдХрдирд╛ рд╣реИ

рдПрдХрд╛рдзрд┐рдХ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЛ рдПрдордПрд╕рдбреАрдПрди рд▓реЗрдЦреЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:

рд╕рд╛рде рд╣реА, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рд╕реНрд╡рдпрдВ рд╕рдордЭ рд▓рд┐рдпрд╛ рд╣реИ, рдЖрдк рдХреЗрд╡рд▓ HasColumnType() рдХреЙрд▓ рдХреЛ рдПрдХ рд╕рд╛рде рд╣рдЯрд╛рдХрд░ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рдХрд╛рд░ рдореИрдкрд┐рдВрдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддреЗ рд╣реИрдВред


рдореИрдВрдиреЗ MySQL рдХрдиреЗрдХреНрд╢рдирд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ GuidFormat рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА, рдФрд░ рдпрд╣ рдЕрднреА рднреА рд╡рд┐рдлрд▓ рд░рд╣рд╛ред

рдЖрдкрдХреЛ рдЕрдкрдиреА рдореЙрдбрд▓ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд╕рдВрдпреЛрдЬрди рдореЗрдВ GuidFormat рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рдирдореВрдиреЗ рдореБрджреНрджреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд╡реЗ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рд╕рдЯреАрдХ рдореЙрдбрд▓ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛрдб рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдЖрдЬрдорд╛рдпрд╛ рдерд╛ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд GuidFormat рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЖрдкрдиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

hainguyenthanh picture hainguyenthanh  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

lauxjpn picture lauxjpn  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

matthewjcooper picture matthewjcooper  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

IonRobu picture IonRobu  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ptsneves picture ptsneves  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ