テーブル マッピングTable Mapping

注意

このセクションの構成は、リレーショナル データベース全般に適用されます。The configuration in this section is applicable to relational databases in general. ここに示す拡張方法は、リレーショナル データベース プロバイダーをインストールすると (共有 Microsoft.EntityFrameworkCore.Relational パッケージによって) 利用できるようになります。The extension methods shown here will become available when you install a relational database provider (due to the shared Microsoft.EntityFrameworkCore.Relational package).

テーブル マッピングは、テーブル データをからクエリを実行し、データベース内に保存する必要がありますを識別します。Table mapping identifies which table data should be queried from and saved to in the database.

規約Conventions

慣例により、各エンティティして設定されると、同じ名前のテーブルにマップする、DbSet<TEntity>派生コンテキストでエンティティを公開するプロパティ。By convention, each entity will be set up to map to a table with the same name as the DbSet<TEntity> property that exposes the entity on the derived context. ない場合はDbSet<TEntity>が含まれる指定されたエンティティのクラス名を使用します。If no DbSet<TEntity> is included for the given entity, the class name is used.

データの注釈Data Annotations

データ注釈を使用して、型にマップするテーブルを構成することができます。You can use Data Annotations to configure the table that a type maps to.

using System.ComponentModel.DataAnnotations.Schema;
[Table("blogs")]
public class Blog
{
    public int BlogId { get; set; }
    public string Url { get; set; }
}

テーブルが属するスキーマを指定することもできます。You can also specify a schema that the table belongs to.

[Table("blogs", Schema = "blogging")]
public class Blog
{
    public int BlogId { get; set; }
    public string Url { get; set; }
}

Fluent APIFluent API

Fluent API を使用して、型にマップするテーブルを構成することができます。You can use the Fluent API to configure the table that a type maps to.

using Microsoft.EntityFrameworkCore;
class MyContext : DbContext
{
    public DbSet<Blog> Blogs { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Blog>()
            .ToTable("blogs");
    }
}

public class Blog
{
    public int BlogId { get; set; }
    public string Url { get; set; }
}

テーブルが属するスキーマを指定することもできます。You can also specify a schema that the table belongs to.

        modelBuilder.Entity<Blog>()
            .ToTable("blogs", schema: "blogging");