Entity Framework (EF) — это платформа объектно-реляционного сопоставления (ORM), предоставляемая Microsoft. Он упрощает процесс доступа к данным из базы данных и манипулирования ими с использованием объектно-ориентированных принципов. В этой статье мы рассмотрим различные типы Entity Framework и обсудим различные методы с примерами кода.
Типы Entity Framework:
- Entity Framework 6 (EF6): это более старая версия Entity Framework, совместимая с.NET Framework.
- Entity Framework Core (EF Core): это новая кроссплатформенная версия Entity Framework, совместимая с.NET Core и.NET 5+.
Методы и примеры кода:
-
Запрос данных:
using (var context = new MyDbContext()) { var customers = context.Customers.ToList(); } -
Добавление данных:
using (var context = new MyDbContext()) { var customer = new Customer { Name = "John Doe", Email = "johndoe@example.com" }; context.Customers.Add(customer); context.SaveChanges(); } -
Обновление данных:
using (var context = new MyDbContext()) { var customer = context.Customers.FirstOrDefault(c => c.Id == 1); if (customer != null) { customer.Name = "Updated Name"; context.SaveChanges(); } } -
Удаление данных:
using (var context = new MyDbContext()) { var customer = context.Customers.FirstOrDefault(c => c.Id == 1); if (customer != null) { context.Customers.Remove(customer); context.SaveChanges(); } } -
Жаркая загрузка:
using (var context = new MyDbContext()) { var customers = context.Customers.Include(c => c.Orders).ToList(); } -
Отложенная загрузка:
using (var context = new MyDbContext()) { var customer = context.Customers.FirstOrDefault(c => c.Id == 1); var orders = customer.Orders.ToList(); // Orders will be loaded on-demand }
Entity Framework — это мощная платформа ORM, которая упрощает доступ к базе данных и управление ею в приложениях.NET. В этой статье мы обсудили различные типы Entity Framework и предоставили примеры кода для распространенных методов, таких как запрос, добавление, обновление и удаление данных. Понимание Entity Framework и его различных методов значительно расширит ваши возможности работы с базами данных при разработке.NET.