0
0
CsharpConceptBeginner · 3 min read

What is Entity Framework Core in C#: Overview and Example

Entity Framework Core is a modern, lightweight, and cross-platform tool in C# that helps developers work with databases using objects instead of SQL queries. It acts like a bridge between your code and the database, making data access easier and more intuitive.
⚙️

How It Works

Entity Framework Core (EF Core) works like a translator between your C# code and the database. Imagine you have a list of objects in your program, like a list of books. EF Core helps you save that list to a database or get it back without writing complex SQL commands.

It uses something called an Object-Relational Mapper (ORM), which means it maps your C# classes to database tables and your class properties to table columns. When you ask EF Core to save or load data, it automatically creates the right SQL commands behind the scenes.

This makes working with data feel more like working with regular C# objects, so you can focus on your app's logic instead of database details.

💻

Example

This example shows how to define a simple model, create a database context, and add a new record to the database using EF Core.

csharp
using System;
using Microsoft.EntityFrameworkCore;

// Define a model class
public class Book
{
    public int Id { get; set; }
    public string Title { get; set; }
    public string Author { get; set; }
}

// Define a database context
public class LibraryContext : DbContext
{
    public DbSet<Book> Books { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder options)
    {
        options.UseInMemoryDatabase("LibraryDB");
    }
}

class Program
{
    static void Main()
    {
        using var context = new LibraryContext();

        // Create a new book
        var book = new Book { Title = "C# Basics", Author = "Jane Doe" };

        // Add and save to database
        context.Books.Add(book);
        context.SaveChanges();

        // Retrieve and print all books
        foreach (var b in context.Books)
        {
            Console.WriteLine($"{b.Id}: {b.Title} by {b.Author}");
        }
    }
}
Output
1: C# Basics by Jane Doe
🎯

When to Use

Use Entity Framework Core when you want to simplify database access in your C# applications. It is great for projects where you want to avoid writing raw SQL and prefer working with objects.

EF Core is useful for web apps, desktop apps, and services that need to store and retrieve data from databases like SQL Server, SQLite, or PostgreSQL. It helps speed up development and reduces errors by managing database operations automatically.

Key Points

  • EF Core is an Object-Relational Mapper (ORM) for C#.
  • It maps C# classes to database tables automatically.
  • Supports multiple database systems and is cross-platform.
  • Makes data access easier by using objects instead of SQL.
  • Good for rapid development and reducing database code errors.

Key Takeaways

Entity Framework Core lets you work with databases using C# objects instead of SQL queries.
It automatically maps your classes to database tables, simplifying data access.
EF Core supports many databases and works on different platforms.
Use EF Core to speed up development and reduce database code complexity.
It is ideal for apps that need easy and maintainable database interaction.