Using Entity Framework Core for Database Management

Introduction
- Briefly introduce Entity Framework Core (EF Core) as an Object-Relational Mapper (ORM) for .NET applications.
- Highlight its role in simplifying database interactions.
- Mention its compatibility with different databases (SQL Server, PostgreSQL, MySQL, SQLite, etc.).
1. What is Entity Framework Core?
- Explain EF Core as an open-source ORM for .NET.
- Discuss its advantages over ADO.NET and raw SQL.
- Mention that it supports Code-First and Database-First approaches.
2. Setting Up EF Core in a .NET Project
- Install the required NuGet packages:
- sh
dotnet add package Microsoft.EntityFrameworkCore dotnet add package Microsoft.EntityFrameworkCore.SqlServer dotnet add package Microsoft.EntityFrameworkCore.Tools- Configure EF Core in
appsettings.jsonfor SQL Server: - json
{ "ConnectionStrings": { "DefaultConnection": "Server=your_server;Database=your_db;User Id=your_user;Password=your_password;" } }- Register EF Core in
Program.cs: - csharp
builder.Services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
3. Creating the Database Context and Models
- Define a DbContext class:
- csharp
public class ApplicationDbContext : DbContext { public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) { } public DbSet<User> Users { get; set; } }- Create an entity model:
- csharp
public class User { public int Id { get; set; } public string Name { get; set; } public string Email { get; set; } }
4. Applying Migrations and Updating the Database
- Generate a migration:
- sh
dotnet ef migrations add InitialCreate- Apply the migration to create the database:
- sh
dotnet ef database update
5. Performing CRUD Operations
- Create a new record:
- csharp
using (var context = new ApplicationDbContext(options)) { var user = new User { Name = "John Doe", Email = "john@example.com" }; context.Users.Add(user); context.SaveChanges(); }- Read records:
- csharp
var users = context.Users.ToList();- Update a record:
- csharp
var user = context.Users.FirstOrDefault(u => u.Id == 1); if (user != null) { user.Name = "Updated Name"; context.SaveChanges(); }
- Delete a record:
- csharp
var user = context.Users.Find(1); if (user != null) { context.Users.Remove(user); context.SaveChanges(); }
6. Advanced Features
- Lazy vs. Eager Loading:
Include()for loading related data. - Asynchronous Operations:
await context.Users.ToListAsync() - Data Seeding: Populate the database with initial data.
- Logging & Performance Optimization: Using
EnableSensitiveDataLogging(),AsNoTracking()
7. Conclusion
- Summarize the benefits of using EF Core for database management.
- Encourage further exploration into EF Core migrations, relationships, and performance tuning.
WEBSITE: https://www.ficusoft.in/dot-net-training-in-chennai/
Comments
Post a Comment