Skip to main content

Entity Framework with MySQL

Packages

  • Microsoft.EntityFrameworkCore
  • Microsoft.EntityFrameworkCore.Tools
  • Pomelo.EntityFrameworkCore.MySql

Install Packages

dotnet add package Microsoft.EntityFrameworkCore
dotnet add package Microsoft.EntityFrameworkCore.Tools
dotnet add package Pomelo.EntityFrameworkCore.MySql

Models

using System;

namespace EntityFramework.Models
{
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; set; }
}
}

DbContext

// APP DB Context

using Microsoft.EntityFrameworkCore;

namespace EntityFramework.Models
{
public class AppDbContext : DbContext
{
public DbSet<User> Users { get; set; }

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseMySql("server=localhost;port=3306;database=appdb;user=root;password=123456");
}
}
}

appsettings.json

{
"ConnectionStrings": {
"AppDbConnectionString": "server=localhost;port=3306;database=appdb;user=root;password=123456"
}
}

Migration

dotnet ef migrations add InitialCreate
dotnet ef database update

Usage

using System;
using System.Linq;
using EntityFramework.Models;

namespace EntityFramework
{
class Program
{
static void Main(string[] args)
{
using (var db = new AppDbContext())
{
db.Users.Add(new User
{
Name = "John Doe",
Email = "123@gmail.com",
Password = "123456",
CreatedAt = DateTime.Now,
UpdatedAt = DateTime.Now
});
}
}
}
}