次の方法で共有


データのクエリ

Entity Framework Core では、Language-Integrated クエリ (LINQ) を使用してデータベースのデータに対してクエリを実行します。 LINQ を使用すると、C# (または任意の .NET 言語) を使用して、厳密に型指定されたクエリを記述できます。 派生コンテキストとエンティティ クラスを使用してデータベース オブジェクトを参照します。 EF Core は、LINQ クエリの表現をデータベース プロバイダーに渡します。 データベース プロバイダーは、データベース固有のクエリ言語 (リレーショナル データベースの SQL など) に変換します。 結果で返されたエンティティがコンテキストに既に存在する場合でも、クエリは常にデータベースに対して実行されます。

ヒント

この記事の サンプル は、GitHub で確認できます。

次のスニペットは、Entity Framework Core で一般的なタスクを実行する方法の例をいくつか示しています。

すべてのデータの読み込み

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

1 つのエンティティの読み込み

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();
}

その他の参考資料

  • LINQ クエリ式の詳細
  • EF Core でのクエリの処理方法の詳細については、「 クエリのしくみ」を参照してください。