CollectionOwnershipBuilder クラス

定義

一対多所有権を構成するための単純な API を提供します。

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

コンストラクター

CollectionOwnershipBuilder(EntityType, EntityType, InternalRelationshipBuilder)

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

CollectionOwnershipBuilder(InternalRelationshipBuilder, CollectionOwnershipBuilder, Boolean, Boolean, Boolean)

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

プロパティ

Builder

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

(継承元 ReferenceCollectionBuilderBase)
DependentEntityType

このリレーションシップの構成に使用される依存エンティティ型を取得します。

(継承元 ReferenceCollectionBuilderBase)
Metadata

このリレーションシップを表す外部キー。

(継承元 ReferenceCollectionBuilderBase)
OwnedEntityType

構成されている所有エンティティ型。

PrincipalEntityType

このリレーションシップの構成に使用されるプリンシパル エンティティの種類を取得します。

(継承元 ReferenceCollectionBuilderBase)

メソッド

FindRelatedEntityType(String, String)

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

FindRelatedEntityType(Type, String)

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

HasChangeTrackingStrategy(ChangeTrackingStrategy)

ChangeTrackingStrategyこのエンティティ型に使用する を構成します。 この戦略は、エンティティ型のインスタンスのプロパティに対する変更をコンテキストが検出する方法を示します。

HasData(Object[])

シード データを持つようこのエンティティを構成します。 これは、データ モーションの移行を生成するために使用されます。

HasEntityTypeAnnotation(String, Object)

所有するエンティティ型の注釈を追加または更新します。 で指定されたキーを持つ注釈が既に annotation 存在する場合、その値は更新されます。

HasForeignKey(String[])

このリレーションシップの外部キーとして使用する プロパティを構成します。

指定したプロパティ名がエンティティ型に存在しない場合は、外部キーとして機能する新しいシャドウ状態プロパティが追加されます。 シャドウ状態プロパティは、エンティティ クラスに対応するプロパティを持たないプロパティです。 プロパティの現在の値は、 エンティティ クラスの ChangeTracker インスタンスに格納されるのではなく、 に格納されます。

が指定されていない場合 HasPrincipalKey(String[]) は、外部キー プロパティのデータ型と順序をプリンシパル エンティティ型の主キーと照合しようとします。 一致しない場合、一意のインデックスを形成する新しいシャドウ状態プロパティがプリンシパル エンティティ型に追加され、参照キーとして機能します。

HasForeignKeyAnnotation(String, Object)

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

HasIndex(String[])

指定したプロパティのインデックスを構成します。 指定されたプロパティ セットに既存のインデックスがある場合は、構成用に既存のインデックスが返されます。

HasKey(String[])

この所有エンティティ型の主キーを構成するプロパティを設定します。

HasOne(String, String)

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

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

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

HasOne(Type, String)

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

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

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

HasPrincipalKey(String[])

このリレーションシップの対象となる一意のプロパティを構成します。 通常、このメソッドは、主キー以外のプロパティをプリンシパル プロパティとして使用する場合にのみ呼び出します。 指定したプロパティがまだ一意制約 (または主キー) でない場合は、新しい一意制約が導入されます。

Ignore(String)

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

OnDelete(DeleteBehavior)

プリンシパルが削除されたとき、またはリレーションシップが切断された場合に、リレーションシップ内の依存エンティティに削除操作を適用する方法を構成します。

OwnsMany(String, String)

ターゲット エンティティがこのエンティティ (またはその一部) によって所有されるリレーションシップを構成します。

ナビゲーションが同じ型であっても、各所有権リレーションシップのターゲット エンティティ型は異なるエンティティ型として扱われます。 ターゲット エンティティ型の構成は、他の所有権リレーションシップのターゲット エンティティ型には適用されません。

所有エンティティに対するほとんどの操作では、対応するナビゲーションを使用して所有者エンティティを介してアクセスする必要があります。

OwnsMany(String, String, Action<CollectionOwnershipBuilder>)

このエンティティ型がリレーションシップ内の他の型に ID を提供するリレーションシップを構成します。

OwnsMany(Type, String)

ターゲット エンティティがこのエンティティ (またはその一部) によって所有されるリレーションシップを構成します。

ナビゲーションが同じ型であっても、各所有権リレーションシップのターゲット エンティティ型は異なるエンティティ型として扱われます。 ターゲット エンティティ型の構成は、他の所有権リレーションシップのターゲット エンティティ型には適用されません。

所有エンティティに対するほとんどの操作では、対応するナビゲーションを使用して所有者エンティティを介してアクセスする必要があります。

OwnsMany(Type, String, Action<CollectionOwnershipBuilder>)

このエンティティ型がリレーションシップ内の他の型に ID を提供するリレーションシップを構成します。

OwnsOne(String, String)

ターゲット エンティティがこのエンティティ (またはその一部) によって所有されるリレーションシップを構成します。 ターゲット エンティティ キーの値は、それが属しているエンティティから常に伝達されます。

ナビゲーションが同じ型であっても、各所有権リレーションシップのターゲット エンティティ型は異なるエンティティ型として扱われます。 ターゲット エンティティ型の構成は、他の所有権リレーションシップのターゲット エンティティ型には適用されません。

所有エンティティに対するほとんどの操作では、対応するナビゲーションを使用して所有者エンティティを介してアクセスする必要があります。

OwnsOne(String, String, Action<ReferenceOwnershipBuilder>)

ターゲット エンティティがこのエンティティ (またはその一部) によって所有されるリレーションシップを構成します。 ターゲット エンティティ キーの値は、それが属しているエンティティから常に伝達されます。

ナビゲーションが同じ型であっても、各所有権リレーションシップのターゲット エンティティ型は異なるエンティティ型として扱われます。 ターゲット エンティティ型の構成は、他の所有権リレーションシップのターゲット エンティティ型には適用されません。

所有エンティティに対するほとんどの操作では、対応するナビゲーションを使用して所有者エンティティを介してアクセスする必要があります。

OwnsOne(Type, String)

ターゲット エンティティがこのエンティティ (またはその一部) によって所有されるリレーションシップを構成します。 ターゲット エンティティ キーの値は、それが属しているエンティティから常に伝達されます。

ナビゲーションが同じ型であっても、各所有権リレーションシップのターゲット エンティティ型は異なるエンティティ型として扱われます。 ターゲット エンティティ型の構成は、他の所有権リレーションシップのターゲット エンティティ型には適用されません。

所有エンティティに対するほとんどの操作では、対応するナビゲーションを使用して所有者エンティティを介してアクセスする必要があります。

OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>)

ターゲット エンティティがこのエンティティ (またはその一部) によって所有されるリレーションシップを構成します。 ターゲット エンティティ キーの値は、それが属しているエンティティから常に伝達されます。

ナビゲーションが同じ型であっても、各所有権リレーションシップのターゲット エンティティ型は異なるエンティティ型として扱われます。 ターゲット エンティティ型の構成は、他の所有権リレーションシップのターゲット エンティティ型には適用されません。

所有エンティティに対するほとんどの操作では、対応するナビゲーションを使用して所有者エンティティを介してアクセスする必要があります。

Property(String)

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

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

Property(Type, String)

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

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

Property<TProperty>(String)

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

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

UsePropertyAccessMode(PropertyAccessMode)

PropertyAccessModeこのエンティティ型のすべてのプロパティに使用する を設定します。

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

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

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

IInfrastructure<IMutableModel>.Instance

このリレーションシップが属するモデル。

(継承元 ReferenceCollectionBuilderBase)
IInfrastructure<InternalEntityTypeBuilder>.Instance

所有エンティティ型の構成に使用される内部ビルダーを取得します。

IInfrastructure<InternalRelationshipBuilder>.Instance

このリレーションシップの構成に使用される内部ビルダーを取得します。

(継承元 ReferenceCollectionBuilderBase)

拡張メソッド

GetInfrastructure<T>(IInfrastructure<T>)

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

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

HasConstraintName(CollectionOwnershipBuilder, String)

リレーショナル データベースを対象とする場合に、このリレーションシップの外部キー制約名を構成します。

ToTable(CollectionOwnershipBuilder, String)

リレーショナル データベースをターゲットにするときにエンティティがマップするビューまたはテーブルを構成します。

ToTable(CollectionOwnershipBuilder, String, String)

リレーショナル データベースをターゲットにするときにエンティティがマップするビューまたはテーブルを構成します。

ForSqlServerIsMemoryOptimized(CollectionOwnershipBuilder, Boolean)

SQL Serverを対象とする場合にエンティティがマップされるテーブルをメモリ最適化として構成します。

適用対象