ModelBuilder クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
エンティティの形状、それらの間のリレーションシップ、およびそれらがデータベースにマップされる方法を定義する を構成 IMutableModel するための単純な API サーフェスを提供します。
public class ModelBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalModelBuilder>
public class ModelBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionModelBuilder>
type ModelBuilder = class
interface IInfrastructure<InternalModelBuilder>
type ModelBuilder = class
interface IInfrastructure<IConventionModelBuilder>
Public Class ModelBuilder
Implements IInfrastructure(Of InternalModelBuilder)
Public Class ModelBuilder
Implements IInfrastructure(Of IConventionModelBuilder)
- 継承
-
ModelBuilder
- 実装
-
IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalModelBuilder> IInfrastructure<IConventionModelBuilder>
注釈
を使用 ModelBuilder して、派生コンテキストで を OnModelCreating(ModelBuilder) オーバーライドすることで、コンテキストのモデルを構築できます。 または、モデルを外部で作成し、コンテキスト コンストラクターに渡されるインスタンスに DbContextOptions 設定することもできます。
詳細と例については、「 EF Core でのエンティティ型とリレーションシップのモデル 化」を参照してください。
コンストラクター
ModelBuilder() |
規則を使用せず、 クラスの ModelBuilder 新しいインスタンスを初期化します。 警告: 正しいモデルを構築するには、規則が必要です。 |
ModelBuilder(ConventionSet) |
規則のセットを適用する クラスの ModelBuilder 新しいインスタンスを初期化します。 |
ModelBuilder(ConventionSet, ModelDependencies) |
規則のセットを適用する クラスの ModelBuilder 新しいインスタンスを初期化します。 |
ModelBuilder(ConventionSet, ModelDependencies, ModelConfiguration) |
これは Entity Framework Core インフラストラクチャをサポートする内部 API であり、パブリック API と同じ互換性標準の対象ではありません。 いかなるリリースでも予告なく変更または削除される場合があります。 コードで直接使用する場合は、細心の注意を払う必要があります。これを行うと、新しい Entity Framework Core リリースに更新するとアプリケーションエラーが発生する可能性があることを認識してください。 |
ModelBuilder(IMutableModel) |
古い.
これは Entity Framework Core インフラストラクチャをサポートする内部 API であり、パブリック API と同じ互換性標準の対象ではありません。 いかなるリリースでも予告なく変更または削除される場合があります。 コードで直接使用する場合は、細心の注意を払う必要があります。これを行うと、新しい Entity Framework Core リリースに更新するとアプリケーションエラーが発生する可能性があることを認識してください。 |
プロパティ
Model |
構成されているモデル。 |
メソッド
ApplyConfiguration<TEntity>(IEntityTypeConfiguration<TEntity>) |
インスタンスで定義されている構成を IEntityTypeConfiguration<TEntity> 適用します。 |
ApplyConfiguration<TQuery>(IQueryTypeConfiguration<TQuery>) |
古い.
インスタンスで定義されている構成を IQueryTypeConfiguration<TQuery> 適用します。 |
ApplyConfigurationsFromAssembly(Assembly, Func<Type,Boolean>) |
指定されたアセンブリで定義されているすべての IEntityTypeConfiguration<TEntity> インスタンスから構成を適用します。 |
Entity(String) |
モデル内の特定のエンティティ型を構成するために使用できる オブジェクトを返します。 指定された名前のエンティティ型がまだモデルに含まれていない場合は、対応する CLR 型を持たない新しいエンティティ型がモデルに追加されます。 |
Entity(String, Action<EntityTypeBuilder>) |
モデル内の特定のエンティティ型の構成を実行します。 指定された名前のエンティティ型がまだモデルに含まれていない場合は、対応する CLR 型を持たない新しいエンティティ型がモデルに追加されます。 |
Entity(Type) |
モデル内の特定のエンティティ型を構成するために使用できる オブジェクトを返します。 エンティティ型がまだモデルの一部でない場合は、モデルに追加されます。 |
Entity(Type, Action<EntityTypeBuilder>) |
モデル内の特定のエンティティ型の構成を実行します。 エンティティ型がまだモデルの一部でない場合は、モデルに追加されます。 |
Entity<TEntity>() |
モデル内の特定のエンティティ型を構成するために使用できる オブジェクトを返します。 エンティティ型がまだモデルの一部でない場合は、モデルに追加されます。 |
Entity<TEntity>(Action<EntityTypeBuilder<TEntity>>) |
モデル内の特定のエンティティ型の構成を実行します。 エンティティ型がまだモデルの一部でない場合は、モデルに追加されます。 |
FinalizeModel() |
ランタイムで使用できる状態になるように、モデルに対して事後処理を強制します。 この後処理は、 を使用 OnModelCreating(ModelBuilder)すると自動的に行われます。このメソッドを使用すると、自動実行が不可能な場合に明示的に実行できます。 |
HasAnnotation(String, Object) |
モデルの注釈を追加または更新します。 で指定されたキーを持つ注釈が既に |
HasChangeTrackingStrategy(ChangeTrackingStrategy) |
このモデルに使用する既定値を構成します ChangeTrackingStrategy 。 この戦略は、エンティティ型のインスタンスのプロパティに対する変更をコンテキストで検出する方法を示します。 |
HasChangeTrackingStrategy(ChangeTrackingStrategy) |
このモデルに使用する既定値を構成します ChangeTrackingStrategy 。 この戦略は、エンティティ型のインスタンスのプロパティに対する変更をコンテキストで検出する方法を示します。 |
Ignore(String) |
指定された名前のエンティティ型をモデルから除外します。 通常、このメソッドは、規則によって追加されたモデルから型を削除するために使用されます。 |
Ignore(Type) |
指定された CLR 型を持つエンティティ型をモデルから除外します。 通常、このメソッドは、規則によって追加されたモデルから型を削除するために使用されます。 |
Ignore<TEntity>() |
指定されたエンティティ型をモデルから除外します。 通常、このメソッドは、規則によって追加されたモデルから型を削除するために使用されます。 |
Owned(Type) |
エンティティ型を所有済みとしてマークします。 この型へのすべての参照は、個別の所有型インスタンスとして構成されます。 |
Owned<T>() |
エンティティ型を所有済みとしてマークします。 この型へのすべての参照は、個別の所有型インスタンスとして構成されます。 |
Query(Type) |
古い.
モデル内の特定のクエリ型を構成するために使用できる オブジェクトを返します。 クエリの種類がまだモデルの一部でない場合は、モデルに追加されます。 |
Query(Type, Action<EntityTypeBuilder>) |
古い.
モデル内の特定のクエリ型の構成を実行します。 クエリの種類がまだモデルの一部でない場合は、モデルに追加されます。 このオーバーロードを使用すると、 の呼 Query<TQuery>()び出し後にチェーンされるのではなく、メソッド呼び出しで行われるクエリ型の構成を行うことができます。 これにより、クエリの種類の構成後に、モデル レベルで追加の構成をチェーンできます。 |
Query(Type, Action<QueryTypeBuilder>) |
モデル内の特定のクエリ型の構成を実行します。 クエリの種類がまだモデルの一部でない場合は、モデルに追加されます。 このオーバーロードを使用すると、 の呼 Query<TQuery>()び出し後にチェーンされるのではなく、メソッド呼び出しで行われるクエリ型の構成を行うことができます。 これにより、クエリの種類の構成後に、モデル レベルで追加の構成をチェーンできます。 |
Query<TQuery>() |
古い.
モデル内の特定のクエリ型を構成するために使用できる オブジェクトを返します。 クエリの種類がまだモデルの一部でない場合は、モデルに追加されます。 |
Query<TQuery>(Action<QueryTypeBuilder<TQuery>>) |
古い.
モデル内の特定のクエリ型の構成を実行します。 クエリの種類がまだモデルの一部でない場合は、モデルに追加されます。 このオーバーロードを使用すると、 の呼 Query<TQuery>()び出し後にチェーンされるのではなく、メソッド呼び出しで行われるクエリ型の構成を行うことができます。 これにより、クエリの種類の構成後に、モデル レベルで追加の構成をチェーンできます。 |
SharedTypeEntity(String, Type) |
モデル内の特定の共有型エンティティ型を構成するために使用できるオブジェクトを返します。 |
SharedTypeEntity(String, Type, Action<EntityTypeBuilder>) |
モデル内の特定の共有型エンティティ型を構成するために使用できるオブジェクトを返します。 |
SharedTypeEntity<TEntity>(String) |
モデル内の特定の共有型エンティティ型を構成するために使用できるオブジェクトを返します。 |
SharedTypeEntity<TEntity>(String, Action<EntityTypeBuilder<TEntity>>) |
モデル内の特定の共有型エンティティ型を構成するために使用できるオブジェクトを返します。 |
UsePropertyAccessMode(PropertyAccessMode) |
PropertyAccessModeこのエンティティ型のすべてのプロパティに使用する を設定します。 既定では、バッキング フィールドが規則で見つかった場合、または指定されている場合は、新しいオブジェクトの構築時 (通常はデータベースからエンティティのクエリを実行する場合) に使用されます。 プロパティは、他のすべてのアクセスに使用されます。 このメソッドを呼び出すと、列挙型で説明されているように、モデル内のすべてのプロパティの動作が PropertyAccessMode 変更されます。 |
UsePropertyAccessMode(PropertyAccessMode) |
PropertyAccessModeこのエンティティ型のすべてのプロパティに使用する を設定します。 |
明示的なインターフェイスの実装
IInfrastructure<IConventionModelBuilder>.Instance |
このモデルの構成に使用される内部 ModelBuilder 。 |
IInfrastructure<InternalModelBuilder>.Instance |
このモデルの構成に使用される内部 ModelBuilder 。 このプロパティは、モデルを構成するための拡張メソッドで使用するためのものです。 これは、アプリケーション コードで使用することを意図したものではありません。 |
拡張メソッド
適用対象
Entity Framework