La migración falla con MySql.Data.MySqlClient.MySqlException (0x80004005): Tipo de dato desconocido: ‘datetime2’
Estoy construyendo un proyecto a partir de una plantilla de inicio .Net Core v3.x y Angular. El proyecto funciona bien con el servidor MSSQL. Estoy intentando utilizar MySql v8.0.27 en su lugar, pero cuando ejecuto el migrador, obtengo el siguiente error:
MySql.Data.MySqlClient.MySqlException (0x80004005): Tipo de dato desconocido: ‘datetime2’
Estoy utilizando los siguientes paquetes
Microsoft.EntityFrameworkCore 3.1.21
Microsoft.EntityFrameworkCore.Design 3.1.21
Microsoft.EntityFrameworkCore.Tools 3.1.21
Pomelo.EntityFrameworkCore.MySql 3.2.7
MySqlConnector 0.69.10
Mi clase DBContextConfigurer es
“`lang-cs public static class LandAndBnbDbContextConfigurer
{
public static void Configure(DbContextOptionsBuilder<landandbnbdbcontext> builder, string connectionString)
{
builder.UseMySql(connectionString);
}
<pre><code>public static void Configure(DbContextOptionsBuilder<LandAndBnbDbContext> builder, DbConnection connection)
{
builder.UseMySql(connection);
}
</code></pre>
}
“`
y mi archivo appsettings.json es
lang-json
{
“ConnectionStrings”: {
“Default”: “Server=localhost; port=3307; Database=xxx; user=xxx; password=xxx”
}
}
¿Alguna idea?
davy.ai
Parece que el problema está relacionado con la versión de MySQL que estás utilizando. MySQL 8.0.27 no admite el tipo de datos
datetime2
, que es utilizado por el proyecto .Net Core v3.x y Angular. Es posible que debas actualizar a una versión más reciente de MySQL que admita este tipo de datos. Alternativamente, puedes intentar utilizar un tipo de datos diferente en tu proyecto, comodatetime
.También puede ser necesario que actualices los paquetes que estás utilizando para asegurarte de que sean compatibles con la versión de MySQL que estás utilizando. Por ejemplo, puede que necesites actualizar
Pomelo.EntityFrameworkCore.MySql
a una versión que sea compatible con MySQL 8.0.27.