Поделиться через


Запрос данных

Entity Framework Core использует Language-Integrated query (LINQ) для запроса данных из базы данных. LINQ позволяет использовать C# (или выбранный язык .NET) для записи строго типизированных запросов. Он использует производный контекст и классы сущностей для ссылки на объекты базы данных. EF Core передает представление запроса LINQ поставщику базы данных. Поставщики баз данных, в свою очередь, преобразуют его на язык запросов для конкретной базы данных (например, SQL для реляционной базы данных). Запросы всегда выполняются в базе данных, даже если сущности, возвращенные в результате, уже существуют в контексте.

Подсказка

Вы можете скачать используемый в этой статье пример из репозитория GitHub.

В следующих фрагментах кода показано несколько примеров выполнения распространенных задач с помощью Entity Framework Core.

Загрузка всех данных

using (var context = new BloggingContext())
{
    var blogs = await context.Blogs.ToListAsync();
}

Загрузка одной сущности

using (var context = new BloggingContext())
{
    var blog = await context.Blogs
        .SingleAsync(b => b.BlogId == 1);
}

Фильтрация

using (var context = new BloggingContext())
{
    var blogs = await context.Blogs
        .Where(b => b.Url.Contains("dotnet"))
        .ToListAsync();
}

Дальнейшие чтения