When working with Entity Framework Core. It’s very important to retrieve only the data you truly need from the database.
In this article, we will learn How to avoid data overload in EF Core, which improves the performance of applications.
It is a common mistake to retrieve the entire entities when only a subset of their properties is needed. This can lead to unnecessary data transfer, increased memory usage, and decreased performance. As you can see in the below code snippet.
var customer = AppDbContext.Customer.ToList();
foreach (var cust in customer)
{
Console.WriteLine($"{cust.Name} | {cust.Address} | {cust.Type}");
}
To prevent data overload in EF Core, we will use projections to pick just the required fields and avoid retrieving unnecessary fields
var customer = AppDbContext.Customer
.select(c => new { c.Name, c.Address, c.Type })
.ToList();
foreach (var cust in customer)
{
Console.WriteLine($"{cust.Name} | {cust.Address} | {cust.Type}");
}
This above code snippet reduces the amount of data retrieved from the database minimizes memory usage, and improves the overall performance of your application.