/*** 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
рддреБрдореНрд╣рд╛рд░рд╛ рдХреЛрдб:
```рд╕реА#
рдЦ.рд╕рдВрдкрддреНрддрд┐
.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
рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЖрдкрдиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдПрдХрд╛рдзрд┐рдХ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЛ рдПрдордПрд╕рдбреАрдПрди рд▓реЗрдЦреЛрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:
рд╕рд╛рде рд╣реА, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рд╕реНрд╡рдпрдВ рд╕рдордЭ рд▓рд┐рдпрд╛ рд╣реИ, рдЖрдк рдХреЗрд╡рд▓
HasColumnType()
рдХреЙрд▓ рдХреЛ рдПрдХ рд╕рд╛рде рд╣рдЯрд╛рдХрд░ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рдХрд╛рд░ рдореИрдкрд┐рдВрдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддреЗ рд╣реИрдВредрдЖрдкрдХреЛ рдЕрдкрдиреА рдореЙрдбрд▓ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд╕рдВрдпреЛрдЬрди рдореЗрдВ
GuidFormat
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рдирдореВрдиреЗ рдореБрджреНрджреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд╡реЗ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рд╕рдЯреАрдХ рдореЙрдбрд▓ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛрдб рдкреЛрд╕реНрдЯ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдЖрдЬрдорд╛рдпрд╛ рдерд╛ рдФрд░ рд╕рдВрдмрдВрдзрд┐рддGuidFormat
рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЖрдкрдиреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ред