ASP.NET Core con MySQL ¿se puede conectar?
Pues esa pregunta me la realice hace tiempo y si que se puede utilizar ASP.NET Core con MySQL con estos pasos que voy a dar a continuación la aplicación que he subido para utilizar MySQL la tengo en github me ha cosdtado trabajo dar con la tecla, como se suele decir pero ha merecido mucho la pena porque así podre desarrollar aplicaciones web con ASP.NET Core usando MySQL y lógicamente probaré con PostgreSQL.
La prueba ya la he realizado y aquí tenéis la prueba, ASP.NET Core con PostgreSQL aquí explico como conectar con PostgreSQL sín problema, espero que os guste.
Las ventajas de ASP.NET Core estan claras se puede ejecutar un servidor web en cualquier sistema operativo, Windows, Linux o Mac OS.
¿Cómo utilizamos MySQL en ASP.NET Core?
Instalar el paquete nuget:
Una vez instalado procederemos a hacer los pasos a continuación.
ApplicationUser lo podéis llamar como queráis incluso cada clase ponerla en un fichero a parte no hay problema.
Simplemente tener en cuenta que la clase ApplicationUser es la que hace de conexion digamos con las clases de Identity y los cambios que realizamos en las clases de Identity.
Si creáis un nuevo proyecto lo podéis realizar todo de esta manera y os funcionara.
Pues bueno aquí viene la explicación, tenemos que diseñarnos unas tablas y modificar Identity por dentro que ahí viene lo complicado pero bueno con estas tablas tal cual:
Es la clase contexto de la aplicación muy importante, donde definimos nuestro modelo y Identity se hace con otra clase que diré a continuación.
Esta clase es con la que empiezan las aplicaciones ASP.NET Core importante porque hay que añadir el contexto de la base de datos ahí y como esta ahí puesto para que funcione MySQL.
Esto es un conjunto de clases que he puesto en un archivo para definir el modelo de Identity que necesitamos modificar si os fijáis cambiamos varias claves que estan en String por Int.
Una vez realizado todo esto tendréis la base de datos donde le hayais indicado en el fichero appsetting.json
si os fijáis la conexion esta en una base de datos MySQL en local.
“DefaultConnection“: “Server=localhost;userid=domotica;Password=domotica;Database=domotica;“
Para desarrollar tal vez sea buena idea usar bases de datos locales, también podéis usar bases de datos en otro ordenador o en maquina virtual, de eso ya hablaremos en otros artículos
Aquí os dejo una imagen de las tablas de la base de datos en mi MySQL en local.
Esta imagen es clara y además pone una tabla que antes de realizar la migración y la actualización de la base de datos hay que añadir esa tabla a mano en una sentencia SQL a MySQL.
CREATE TABLE `domoticauserroles`.`__EFMigrationsHistory` (
`MigrationId` text NOT NULL,
`ProductVersion` text NOT NULL,
PRIMARY KEY (`MigrationId`(255)));
Bueno esto lo podéis realizar incluso antes de crear los archivos que he mencionado arriba.
Añadir migración y actualizar la base de datos para ASP.NET Core 2.2
Añadimos la migración y actualizamos la base de datos MySQL para nuestra aplicación hay varias maneras de hacerlo:
PM> Add-Migration [nombre], donde ponemos le nombre que queramos.
PM> Update-Database, proceso de actualización de la base de datos.
O en el cmd.exe powershell en una consola ponemos estos comandos
dotnet ef migrations add migration1
dotnet ef database update
ASP.NET Core 2.2 con MySQL
Es una gran base de datos estable, segura y pudiendola usar podemos usarla en nuestros proyectos de ASP.NET Core sin problema, además de ser software gratis que es la razón principal por la que queria poder usar MySQL.
Por lo visto tiene los 2 tipos de licencias GPL y uso comercial, imagino que una parte del código en GPL y otra parte privativ0, pero vamos no lo tengo muy claro.
PostgreSQL con ASP.NET Core 2.2
Haremos las pruebas necesarias y veremos si podemos usar PostgreSQL en este mismo proyecto.
Errores que os pueden aparecer
A mi me aparecio este error y os lo comento por si os aparece para que sepáis como solucionarlo porque si no os podéis directamente romper la cabeza y no dar con la solución del error, lo malo que tiene ASP.NET Core es que la solución de errores no la veo clara.
para solucionarlo tal como tengo el código fuente de mi aplicación web simplemente hay que hacer este cambio en loginpartial, el de github de loginpartial.
De momento no lo he cambiado pero lo cambiare el de github, lógicamente en mi código de mi aplicación web lo he cambiado a la opción que funciona.
¿Qué os parecio el artículo?
Espero que bien y que os guste y sobre todo los interesados en desarrollar en ASP.NET Core que os venga muy bien para trabajar en esta fantástica tecnología.
Si queréis suscribiros en la lista de mailchimp un poco más abajo he puesto el enlace, donde os informaré sobre distintas tecnologias, Ebooks, tutoriales, tenemos un ebook para los que os queráis suscribir sobre Ubuntu Server 18.04 algunos aspectos sobre él. Estamos creando un Ebook sobre Windows 10 a nivel de usuario y administrador de sistemas y también para programar con él.
Para finalizar el artículo os voy a dejar un video explicando el proceso hablando en el video para que os sea más sencillo, sí no entendeís algo comentarme en el video mismo.
¿Qué os parecio el video? ¿habéis conseguido usar MySQL en ASP.NET Core 2.2? si tenéis alguna duda espero me preguntéis, saludos.
Suscríbete al boletín de noticias (newsletter)
Si quieres la última información que vamos dando sobre WordPress y creación de páginas web en otras técnologias, además de tutoriales gratis y Ebook gratis.