.net core connect local mysql
choose mysql
local with mamp or docker
---
install
nuget
Pomelo.EntityFrameworkCore.MySql
---
in appsettings.json:
"ConnectionStrings": {
"DefaultConnection": "server=localhost;port=3306;database=dotnetmysqltest;uid=username;password=password",
}setup entities
recipe.class
using System;
using System.Collections.Generic;
namespace testlocalmysql.Entities
{
public class Recipe
{
public int RecipeId { get; set; }
public string Name { get; set; }
// public TimeSpan TimeToCook { get; set; } // gave error time(6) ???
// works as double
public double TimeToCook { get; set; }
public bool IsDeleted { get; set; }
public string Method { get; set; }
public ICollection<Ingredient> Ingredients { get; set; }
}
}ingredient.class
using System;
namespace testlocalmysql.Entities
{
public class Ingredient
{
public int IngredientId { get; set; }
public int RecipeId { get; set; }
public string Name { get; set; }
public decimal Quantity { get; set; }
public string Unit { get; set; }
}
}register dbcontext
using System;
using Microsoft.EntityFrameworkCore;
using testlocalmysql.Entities;
namespace testlocalmysql.Db
{
public class AppDbContext: DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options)
{
}
public DbSet<Recipe> Recipes { get; set; }
}
}add to startup.cs
services.AddDbContext<AppDbContext>(options =>
options.UseMySql(Configuration.GetConnectionString("DefaultConnection")));use ef
test if works
dotnet ef --helpapply first migration
dotnet ef migrations add InitialSchemamigration folder is created with 3 new files
finish it with
dotnet ef database update