Language

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>

コンストラクター

Name 説明
CollectionOwnershipBuilder(EntityType, EntityType, InternalRelationshipBuilder)

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

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

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

プロパティ

Name 説明
Builder

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

(継承元 ReferenceCollectionBuilderBase)
DependentEntityType

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

(継承元 ReferenceCollectionBuilderBase)
Metadata

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

(継承元 ReferenceCollectionBuilderBase)
OwnedEntityType

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

PrincipalEntityType

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

(継承元 ReferenceCollectionBuilderBase)

メソッド

Name 説明
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 つのインスタンスを指す参照を持つリレーションシップを構成します。

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

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

HasOne(Type, String)

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

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

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

HasPrincipalKey(String[])

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

Ignore(String)

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

OnDelete(DeleteBehavior)

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

OwnsMany(String, String, Action<CollectionOwnershipBuilder>)

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

OwnsMany(String, String)

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

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

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

OwnsMany(Type, String, Action<CollectionOwnershipBuilder>)

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

OwnsMany(Type, String)

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

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

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

OwnsOne(String, String, Action<ReferenceOwnershipBuilder>)

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

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

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

OwnsOne(String, String)

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

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

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

OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>)

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

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

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

OwnsOne(Type, String)

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

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

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

Property(String)

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

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

Property(Type, String)

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

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

Property<TProperty>(String)

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

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

UsePropertyAccessMode(PropertyAccessMode)

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

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

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

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

Name 説明
IInfrastructure<IMutableModel>.Instance

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

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

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

IInfrastructure<InternalRelationshipBuilder>.Instance

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

(継承元 ReferenceCollectionBuilderBase)

拡張メソッド

Name 説明
ForSqlServerIsMemoryOptimized(CollectionOwnershipBuilder, Boolean)

SQL Serverをメモリ最適化としてターゲットにするときにエンティティがマップするテーブルを構成します。

GetInfrastructure<T>(IInfrastructure<T>)

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

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

HasConstraintName(CollectionOwnershipBuilder, String)

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

ToTable(CollectionOwnershipBuilder, String, String)

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

ToTable(CollectionOwnershipBuilder, String)

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

適用対象