QueryTypeBuilder クラス

定義

クエリの種類を構成するための簡単な API を提供します。

このクラスのインスタンスは、API を使用する場合に ModelBuilder メソッドから返され、アプリケーション コードで直接構築されるようには設計されていません。

public class QueryTypeBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.IMutableModel>, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>
type QueryTypeBuilder = class
    interface IInfrastructure<IMutableModel>
    interface IInfrastructure<InternalEntityTypeBuilder>
Public Class QueryTypeBuilder
Implements IInfrastructure(Of IMutableModel), IInfrastructure(Of InternalEntityTypeBuilder)
継承
QueryTypeBuilder
派生
実装
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

コンストラクター

QueryTypeBuilder(InternalEntityTypeBuilder)

この API は Entity Framework Core インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 この API は、今後のリリースで変更または削除される可能性があります。

プロパティ

Metadata

構成されているクエリの種類。

メソッド

HasAnnotation(String, Object)

クエリの種類に対する注釈を追加または更新します。 で指定されたキーを持つ注釈が既に annotation 存在する場合、その値は更新されます。

HasBaseType(String)

継承階層でこのクエリの種類の基本型を設定します。

HasBaseType(Type)

継承階層でこのクエリの種類の基本型を設定します。

HasOne(String, String)

このクエリ型がリレーションシップ内の他の型の単一のインスタンスを指す参照を持つリレーションシップを構成します。

パラメーターなしでこのメソッドを呼び出すと、エンティティ型にそのようなプロパティが存在する場合でも、ナビゲーション プロパティを使用するようにリレーションシップのこの側が明示的に構成されることに注意してください。 ナビゲーション プロパティを使用する場合は、指定する必要があります。

このメソッドを呼び出した後、リレーションシップを完全に構成するには、 または WithOne(String) へのWithMany(String)呼び出しをチェーンする必要があります。 チェーン呼び出しなしでこのメソッドだけを呼び出すと、有効なリレーションシップは生成されません。

HasOne(Type, String)

このクエリ型がリレーションシップ内の他の型の単一のインスタンスを指す参照を持つリレーションシップを構成します。

このメソッドを呼び出した後、リレーションシップを完全に構成するには、 または WithOne(String) へのWithMany(String)呼び出しをチェーンする必要があります。 チェーン呼び出しなしでこのメソッドだけを呼び出すと、有効なリレーションシップは生成されません。

HasQueryFilter(LambdaExpression)

このクエリの種類を対象とするクエリに自動的に適用される LINQ 述語式を指定します。

Ignore(String)

指定したプロパティをクエリの種類から除外します。 通常、このメソッドは、規則によって追加されたクエリの種類からプロパティを削除するために使用されます。

Property(String)

クエリの種類のプロパティを構成するために使用できる オブジェクトを返します。 指定した名前のプロパティが存在しない場合は、新しいプロパティが追加されます。

このオーバーロードで新しいプロパティを追加する場合、プロパティ名はクエリ型の CLR プロパティまたはフィールドの名前と一致する必要があります。 このオーバーロードを使用して、新しいシャドウ状態プロパティを追加することはできません。

Property(Type, String)

クエリの種類のプロパティを構成するために使用できる オブジェクトを返します。 指定した名前のプロパティが存在しない場合は、新しいプロパティが追加されます。

新しいプロパティを追加するときに、クエリ型クラスに同じ名前のプロパティが存在する場合は、モデルに追加されます。 クエリ型クラスにプロパティが存在しない場合は、新しいシャドウ状態プロパティが追加されます。 シャドウ状態プロパティは、クエリ型クラスに対応するプロパティを持たないプロパティです。 プロパティの現在の値は、クエリ型クラスの ChangeTracker インスタンスに格納されるのではなく、 に格納されます。

Property<TProperty>(String)

クエリの種類のプロパティを構成するために使用できる オブジェクトを返します。 指定した名前のプロパティが存在しない場合は、新しいプロパティが追加されます。

新しいプロパティを追加するときに、クエリ型クラスに同じ名前のプロパティが存在する場合は、モデルに追加されます。 クエリ型クラスにプロパティが存在しない場合は、新しいシャドウ状態プロパティが追加されます。 シャドウ状態プロパティは、クエリ型クラスに対応するプロパティを持たないプロパティです。 プロパティの現在の値は、クエリ型クラスの ChangeTracker インスタンスに格納されるのではなく、 に格納されます。

UsePropertyAccessMode(PropertyAccessMode)

PropertyAccessModeこのクエリの種類のすべてのプロパティに使用する を設定します。

既定では、バッキング フィールドは、規則で見つかった場合、または指定されている場合は、新しいオブジェクトが構築されるときに使用されます。通常は、データベースからエンティティが照会されるときに使用されます。 プロパティは、他のすべてのアクセスに使用されます。 このメソッドを呼び出すと、列挙型で説明されているように、このクエリ型のすべてのプロパティの動作が PropertyAccessMode 変更されます。

このメソッドを呼び出すと、このクエリのすべてのプロパティに対して、モデルに設定されたアクセス モードがオーバーライドされます。

明示的なインターフェイスの実装

IInfrastructure<IMutableModel>.Instance

クエリの種類が属するモデル。

IInfrastructure<InternalEntityTypeBuilder>.Instance

クエリの種類の構成に使用される内部ビルダーを取得します。

拡張メソッド

GetInfrastructure<T>(IInfrastructure<T>)

を使用して非表示になっているプロパティから値を IInfrastructure<T>取得します。

このメソッドは、通常、データベース プロバイダー (およびその他の拡張機能) によって使用されます。 通常、アプリケーション コードでは使用されません。

HasDiscriminator(QueryTypeBuilder)

継承階層がリレーショナル データベース内の 1 つのテーブルにマップされるときに表されるテーブル内の各行を識別するために使用される識別子列を構成します。

HasDiscriminator(QueryTypeBuilder, String, Type)

継承階層がリレーショナル データベース内の 1 つのテーブルにマップされるときに表されるテーブル内の各行を識別するために使用される識別子列を構成します。

HasDiscriminator<TDiscriminator>(QueryTypeBuilder, String)

継承階層がリレーショナル データベース内の 1 つのテーブルにマップされるときに表されるテーブル内の各行を識別するために使用される識別子列を構成します。

ToView(QueryTypeBuilder, String)

リレーショナル データベースを対象とする場合にビューがマップされるビューまたはテーブルを構成します。

ToView(QueryTypeBuilder, String, String)

リレーショナル データベースを対象とする場合にビューがマップされるビューまたはテーブルを構成します。

適用対象