LoginSignup
4
2

DbContextについての解説

Posted at

DbContextとは

DbContextは、データベースのセッションを表し、データベースのクエリ実行、保存されたデータの取得、および変更の追跡と永続化を行う機能を提供します。DbContextクラスを使用することで、開発者はデータベース構造を直接扱う代わりに、クラスとプロパティを介してデータベースとのやり取りを行うことができます。

主要な機能

  • データモデルの設定: DbContextは、モデルクラスとデータベースのテーブルをマッピングします。Fluent APIやデータアノテーションを使用して、このマッピングを細かく制御できます。
  • クエリの実行: LINQ (Language Integrated Query) を使用して、データベースに対するクエリを書くことができ、その結果をオブジェクトのコレクションとして取得します。
  • 変更の追跡: DbContextは、取得したオブジェクトに対する変更を追跡し、データベースに対する更新を容易にします。
  • トランザクションのサポート: データの整合性を保つために、複数の操作を一つのトランザクションとして実行することができます。
  • キャッシング: 第一レベルのキャッシュを提供し、同じコンテキスト内でのエンティティの再利用を可能にします。

基本的な使用方法

public class MyDbContext : DbContext
{
    public DbSet<MyEntity> MyEntities { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=MyDb;Trusted_Connection=True;");
    }
}

この例では、DbContextを継承してカスタムコンテキストMyDbContextを作成し、DbSet<MyEntity>プロパティを通じてMyEntityクラスのインスタンスをデータベースのテーブルにマッピングしています。OnConfiguringメソッド内で、データベース接続の設定を行います。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2