Are you still writing raw SQL in your .NET projects? You might be losing hours every week! Let me show you how to turbocharge your development with Entity Framework Core.
What is Entity Framework Core?
A Quick Overview of EF Core
Entity Framework Core (EF Core) is Microsoft’s modern, lightweight, and cross-platform ORM (Object-Relational Mapper). It acts as a bridge between your .NET application and the database, allowing you to work with data using C# objects instead of raw SQL queries.
- ORM (Object-Relational Mapper): It maps your C# classes to database tables.
- Cross-platform: Runs on Windows, Linux, macOS.
- Productivity-friendly: Features like LINQ (Language Integrated Query) and automatic migrations make database work faster and cleaner.
Example:
using (var context = new BloggingContext())
{
var blogs = context.Blogs.ToList();
}
Instead of writing SQL SELECT queries, you query the database using C# code.
Why Developers Choose EF Core
- Cross-Platform Compatibility: Works seamlessly with .NET Core and .NET 5/6/7+.
- Migrations: Effortlessly update your database schema.
- LINQ Support: Write readable, maintainable queries.
- Performance: Significant improvements over older versions.
- Community & Microsoft Support: Continuous updates and a vibrant developer community.
If you value maintainability and speed, EF Core is your best friend.
Prerequisites Before Installation
Install .NET SDK
Before diving into EF Core, ensure that the .NET SDK is installed:
- Check:
dotnet --version
- Download: Download .NET SDK
Setting Up an IDE
While you can technically use any text editor, I recommend:
- Visual Studio 2022+ (best tooling support)
- Visual Studio Code (lightweight and extensible)
- JetBrains Rider (cross-platform with powerful features)
Tip: Ensure your IDE has C# and NuGet extension support.
Verify System Requirements
- OS: Windows, macOS, or Linux
- .NET SDK 6.0 or newer recommended
- Stable internet connection for package downloads
How to Install Entity Framework Core
Creating a New .NET Project
Let’s create a fresh console app:
dotnet new console -n EfCoreDemo
cd EfCoreDemo
This creates a new project folder with basic setup.
Adding EF Core Packages
Add EF Core using NuGet CLI:
dotnet add package Microsoft.EntityFrameworkCore
Alternatively, use Visual Studio:
- Right-click project > Manage NuGet Packages > Search “Microsoft.EntityFrameworkCore” > Install
Installing Provider Packages
Choose your database provider:
- SQL Server:
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
- SQLite:
dotnet add package Microsoft.EntityFrameworkCore.Sqlite
- PostgreSQL:
dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL
Tip: Install the matching provider tools for better migration experience.
Initial Configuration and First Run
Setting Up DbContext
Create a new class BloggingContext.cs
:
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder options)
=> options.UseSqlServer("Your_Connection_String");
}
public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; }
}
This class configures the database connection and maps your Blog
class to a database table.
Running First Migration
Run this in terminal:
dotnet ef migrations add InitialCreate
Then apply the migration:
dotnet ef database update
Voilà! Your database is ready.
Testing the Installation
Add some data in Program.cs
:
using (var db = new BloggingContext())
{
db.Blogs.Add(new Blog { Url = "https://myblog.com" });
db.SaveChanges();
}
Run your app:
dotnet run
Check your database to see the new entry!
Troubleshooting Common Installation Issues
Version Compatibility
Make sure EF Core version matches your .NET SDK:
- .NET 6 => EF Core 6
- .NET 7 => EF Core 7
Check versions:
dotnet list package
Restore Errors
If you get restore errors, try:
dotnet restore
Ensure your nuget.config
is properly set up.
Connection Problems
- Validate your connection string.
- Ensure database server is running.
- Check firewall and network settings.
FAQ: Your Quick Answers About EF Core Installation
Absolutely! Use Scaffold-DbContext
to generate models from an existing database.
Yes, it’s used in many high-performance enterprise apps worldwide.
Install dotnet-ef
tool globally: dotnet tool install --global dotnet-ef
Conclusion: Get Started with EF Core Today!
You’ve just walked through the essential steps to install and run Entity Framework Core. From setting up your environment to running your first migration, you now have a solid foundation to build robust, database-driven .NET applications.
Don’t stop here—explore advanced EF Core features and watch your productivity soar. Have questions or stuck somewhere? Drop a comment below and let’s tackle it together!
- EF Core Explained: Your Comprehensive Guide to Entity Framework Core
- Install EF Core Fast: Step-by-Step Beginner’s Guide