gitwtfhub

wtf is efcore?

dotnet/efcore — explained in plain English

Analysis updated 2026-06-24

14,650C#Audience · developerComplexity · 4/5LicenseSetup · moderate

TL;DR

Entity Framework Core, the official .NET object-database mapper, plus the Microsoft.Data.Sqlite ADO.NET provider, both maintained by Microsoft.

Mindmap

mindmap
  root((efcore))
    Inputs
      C# model classes
      LINQ queries
      DbContext config
      Connection string
    Outputs
      SQL queries
      Database migrations
      Tracked entities
      Query results
    Use Cases
      Map objects to tables
      Run typed LINQ queries
      Manage schema migrations
      Talk to SQLite directly
    Tech Stack
      C#
      .NET
      NuGet
      ADO.NET

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Build a .NET app that reads and writes data using C# objects instead of raw SQL

REASON 2

Manage database schema changes over time with EF Core migrations

REASON 3

Connect to SQL Server, PostgreSQL, MySQL, or Cosmos DB through provider packages

REASON 4

Use Microsoft.Data.Sqlite on its own for lightweight local storage in a .NET app

What's in the stack?

C#.NETNuGetADO.NETSQLiteSQL

How it stacks up

dotnet/efcoreflow-launcher/flow.launcherduplicati/duplicati
Stars14,65014,66514,538
LanguageC#C#C#
Last pushed2026-05-21
MaintenanceMaintained
Setup difficultymoderateeasymoderate
Complexity4/52/53/5
Audiencedevelopergeneralops devops

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Need the .NET SDK installed and the correct provider NuGet package for your target database before any query works.

MIT licensed, so you can use, modify, and ship it in any project, including closed-source commercial products, with attribution.

Wtf does this do

This repository holds two related Microsoft projects: Entity Framework Core, often shortened to EF Core, and a smaller library called Microsoft.Data.Sqlite. Both are part of the .NET Foundation and are released under the MIT license. The README presents them as separate sections inside a single codebase. EF Core is described as a modern object-database mapper for .NET. In simpler words, it lets a C# program talk to a database by working with regular C# objects instead of writing raw SQL. The README says it supports LINQ queries (a C# way of writing data lookups), automatic change tracking, updates, and schema migrations, which keep the database structure in sync with the code. It works with SQL Server, Azure SQL Database, SQLite, Azure Cosmos DB, MariaDB, MySQL, PostgreSQL, and other databases through a provider plugin system, so each database gets its own installable add-on package. The project ships through NuGet, which is the standard package source for .NET. You install the provider that matches your database with a dotnet add package command. The README also mentions daily builds for people who want the very latest code, and links to instructions for building from source on your own machine. A short code example walks through inserting a row, reading rows, updating values, and deleting a row, all through a DbContext class that represents the database in code. The second project, Microsoft.Data.Sqlite, is a lightweight ADO.NET provider for the SQLite database. ADO.NET is the older, lower-level .NET API for talking to databases. The EF Core SQLite provider is built on top of this library, but it can also be used on its own or with other data access libraries. The README shows a small example that opens a SQLite connection, runs a SELECT query, and reads rows with a data reader. The rest of the README covers contributing guidelines, where to ask questions (Stack Overflow), how to report bugs (the GitHub issue tracker), and links to the official docs, roadmap, weekly status updates, and security notes.

Yoink these prompts

Prompt 1
Set up a DbContext in efcore that maps a User and Order table with a one-to-many relationship, and show me the migration code
Prompt 2
Write a LINQ query in efcore that loads orders with their related users and converts it to optimised SQL
Prompt 3
Show me how to switch an efcore project from SQL Server to PostgreSQL by changing the provider package
Prompt 4
Use Microsoft.Data.Sqlite directly to open a connection, run a parameterised query, and read rows safely
Prompt 5
Help me debug why my efcore migration is dropping a column instead of renaming it

Frequently asked questions

wtf is efcore?

Entity Framework Core, the official .NET object-database mapper, plus the Microsoft.Data.Sqlite ADO.NET provider, both maintained by Microsoft.

What language is efcore written in?

Mainly C#. The stack also includes C#, .NET, NuGet.

What license does efcore use?

MIT licensed, so you can use, modify, and ship it in any project, including closed-source commercial products, with attribution.

How hard is efcore to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is efcore for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.