テーブルのマッピング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 setup 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");