posted on May 31, 2024, last updated on Saturday, November 23, 2024 at 10:51 AM

Create a new project

1
2
dotnet new console -o EFGetStareted
cd EFGetStarted
  • new console: create a new non-GUI project
  • -o: new project path

Install EF Core module for sqlite

1
dotnet add package Microsoft.EntityFrameworkCore.Sqlite

Define ORM

Create Models

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// scaffold for DbContext
public class MyDbContext: DbContext {
	public DbSet<DbModel_A> Model_As {get; set;}
  public DbSet<DbModel_B> Model_Bs {get; set;}
  
  public string DbPath {get;}
  
  // constructor
  public MyDbContext() {
    // add custom codes, e.g., config db file path
    DbPath = "myDbPath";
  }
  
  // config db path
  protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) {
    optionsBuilder.UseSqlite($"Data Source={DbPath}");
  }
  
}

Create DbContext

Initialize migration

Add controllers

Configure the web app