Install Required Packages
dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL dotnet add package Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore
Install dotnet-ef
Install it locally or globally.
Local
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local dotnet-ef
Global
dotnet tool install --global dotnet-ef
dotnet add package Microsoft.EntityFrameworkCore.Design
Defining a DbContext
using Microsoft.EntityFrameworkCore; namespace BlazorApp1; public class AppDbContext : DbContext { public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseNpgsql("Host=localhost;Database=testdb;Username=postgres;Password=12345"); } public DbSet<Person> People { get; set; } } public class Person { public int ID { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public int Age { get; set; } }
Create Migration
dotnet ef migrations add InitialCreate
Apply to Database
dotnet ef database update
or
dotnet ef database update InitialCreate dotnet ef database update 20180904195021_InitialCreate --connection your_connection_string
Program.cs
builder.Services.AddDbContext<AppDbContext>(options => options.UseNpgsql(builder.Configuration.GetConnectionString("AppDbContext"))); builder.Services.AddDatabaseDeveloperPageExceptionFilter();
References
https://www.npgsql.org/efcore/index.html
https://docs.microsoft.com/en-us/aspnet/core/data/ef-rp/intro?view=aspnetcore-6.0&tabs=visual-studio
https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/migrations?view=aspnetcore-6.0
https://medium.com/executeautomation/asp-net-core-6-0-minimal-api-with-entity-framework-core-69d0c13ba9ab
https://docs.microsoft.com/en-us/ef/core/cli/dotnet