Langue

CollectionOwnershipBuilder Classe

Définition

Fournit une API simple pour configurer une propriété un-à-plusieurs.

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)
Héritage
CollectionOwnershipBuilder
Dérivé
Implémente
IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

Constructeurs

Nom Description
CollectionOwnershipBuilder(EntityType, EntityType, InternalRelationshipBuilder)

Cette API prend en charge l’infrastructure Entity Framework Core et n’est pas destinée à être utilisée directement à partir de votre code. Cette API peut changer ou être supprimée dans les versions ultérieures.

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

Cette API prend en charge l’infrastructure Entity Framework Core et n’est pas destinée à être utilisée directement à partir de votre code. Cette API peut changer ou être supprimée dans les versions ultérieures.

Propriétés

Nom Description
Builder

Cette API prend en charge l’infrastructure Entity Framework Core et n’est pas destinée à être utilisée directement à partir de votre code. Cette API peut changer ou être supprimée dans les versions ultérieures.

(Hérité de ReferenceCollectionBuilderBase)
DependentEntityType

Obtient le type d’entité dépendant utilisé pour configurer cette relation.

(Hérité de ReferenceCollectionBuilderBase)
Metadata

Clé étrangère qui représente cette relation.

(Hérité de ReferenceCollectionBuilderBase)
OwnedEntityType

Type d’entité détenu en cours de configuration.

PrincipalEntityType

Obtient le type d’entité principal utilisé pour configurer cette relation.

(Hérité de ReferenceCollectionBuilderBase)

Méthodes

Nom Description
FindRelatedEntityType(String, String)

Cette API prend en charge l’infrastructure Entity Framework Core et n’est pas destinée à être utilisée directement à partir de votre code. Cette API peut changer ou être supprimée dans les versions ultérieures.

FindRelatedEntityType(Type, String)

Cette API prend en charge l’infrastructure Entity Framework Core et n’est pas destinée à être utilisée directement à partir de votre code. Cette API peut changer ou être supprimée dans les versions ultérieures.

HasChangeTrackingStrategy(ChangeTrackingStrategy)

Configure la ChangeTrackingStrategy valeur à utiliser pour ce type d’entité. Cette stratégie indique comment le contexte détecte les modifications apportées aux propriétés d’une instance du type d’entité.

HasData(Object[])

Configure cette entité pour avoir des données initiales. Il est utilisé pour générer des migrations de mouvement de données.

HasEntityTypeAnnotation(String, Object)

Ajoute ou met à jour une annotation sur le type d’entité appartenant. Si une annotation avec la clé spécifiée annotation existe déjà, sa valeur est mise à jour.

HasForeignKey(String[])

Configure la ou les propriétés à utiliser comme clé étrangère pour cette relation.

Si le ou les noms de propriété spécifiés n’existent pas sur le type d’entité, une ou plusieurs nouvelles propriétés d’état d’ombre seront ajoutées pour servir de clé étrangère. Une propriété d’état d’ombre est une propriété qui n’a pas de propriété correspondante dans la classe d’entité. La valeur actuelle de la propriété est stockée au ChangeTracker lieu d’être stockée dans les instances de la classe d’entité.

Si HasPrincipalKey(String[]) ce n’est pas spécifié, une tentative est effectuée pour correspondre au type de données et à l’ordre des propriétés de clé étrangère par rapport à la clé primaire du type d’entité principal. S’ils ne correspondent pas, de nouvelles propriétés d’état d’ombre qui forment un index unique sont ajoutées au type d’entité principal pour servir de clé de référence.

HasForeignKeyAnnotation(String, Object)

Ajoute ou met à jour une annotation sur la clé étrangère. Si une annotation avec la clé spécifiée annotation existe déjà, sa valeur est mise à jour.

HasIndex(String[])

Configure un index sur les propriétés spécifiées. S’il existe un index existant sur l’ensemble de propriétés donné, l’index existant est retourné pour la configuration.

HasKey(String[])

Définit les propriétés qui composent la clé primaire pour ce type d’entité appartenant.

HasOne(String, String)

Configure une relation où ce type d’entité a une référence qui pointe vers une instance unique de l’autre type dans la relation.

Notez que l’appel de cette méthode sans paramètres configure explicitement ce côté de la relation pour qu’elle n’utilise aucune propriété de navigation, même si une telle propriété existe sur le type d’entité. Si la propriété de navigation doit être utilisée, elle doit être spécifiée.

Après avoir appelé cette méthode, vous devez chaîner un appel vers WithMany(String) ou WithOne(String) pour configurer entièrement la relation. L’appel de cette méthode sans l’appel chaîné ne produit pas de relation valide.

HasOne(Type, String)

Configure une relation où ce type d’entité a une référence qui pointe vers une instance unique de l’autre type dans la relation.

Notez que l’appel de cette méthode sans paramètres configure explicitement ce côté de la relation pour qu’elle n’utilise aucune propriété de navigation, même si une telle propriété existe sur le type d’entité. Si la propriété de navigation doit être utilisée, elle doit être spécifiée.

Après avoir appelé cette méthode, vous devez chaîner un appel vers WithMany(String) ou WithOne(String) pour configurer entièrement la relation. L’appel de cette méthode sans l’appel chaîné ne produit pas de relation valide.

HasPrincipalKey(String[])

Configure la ou les propriétés uniques que cette relation cible. En règle générale, vous n’appelez cette méthode que si vous souhaitez utiliser une ou plusieurs propriétés autres que la clé primaire comme propriété(s) principale(s). Si la ou les propriétés spécifiées ne sont pas déjà une contrainte unique (ou la clé primaire), une nouvelle contrainte unique sera introduite.

Ignore(String)

Exclut la propriété donnée du type d’entité. Cette méthode est généralement utilisée pour supprimer les propriétés du type d’entité appartenant qui ont été ajoutées par convention.

OnDelete(DeleteBehavior)

Configure la façon dont une opération de suppression est appliquée aux entités dépendantes dans la relation lorsque le principal est supprimé ou que la relation est interrompue.

OwnsMany(String, String, Action<CollectionOwnershipBuilder>)

Configure une relation dans laquelle ce type d’entité fournit une identité à l’autre type de la relation.

OwnsMany(String, String)

Configure une relation dans laquelle l’entité cible appartient (ou une partie) de cette entité.

Le type d’entité cible pour chaque relation de propriété est traité comme un type d’entité différent même si la navigation est du même type. La configuration du type d’entité cible n’est pas appliquée au type d’entité cible d’autres relations de propriété.

La plupart des opérations sur une entité détenue nécessitent l’accès via l’entité propriétaire à l’aide de la navigation correspondante.

OwnsMany(Type, String, Action<CollectionOwnershipBuilder>)

Configure une relation dans laquelle ce type d’entité fournit une identité à l’autre type de la relation.

OwnsMany(Type, String)

Configure une relation dans laquelle l’entité cible appartient (ou une partie) de cette entité.

Le type d’entité cible pour chaque relation de propriété est traité comme un type d’entité différent même si la navigation est du même type. La configuration du type d’entité cible n’est pas appliquée au type d’entité cible d’autres relations de propriété.

La plupart des opérations sur une entité détenue nécessitent l’accès via l’entité propriétaire à l’aide de la navigation correspondante.

OwnsOne(String, String, Action<ReferenceOwnershipBuilder>)

Configure une relation dans laquelle l’entité cible appartient (ou une partie) de cette entité. La valeur de clé d’entité cible est toujours propagée à partir de l’entité à laquelle elle appartient.

Le type d’entité cible pour chaque relation de propriété est traité comme un type d’entité différent même si la navigation est du même type. La configuration du type d’entité cible n’est pas appliquée au type d’entité cible d’autres relations de propriété.

La plupart des opérations sur une entité détenue nécessitent l’accès via l’entité propriétaire à l’aide de la navigation correspondante.

OwnsOne(String, String)

Configure une relation dans laquelle l’entité cible appartient (ou une partie) de cette entité. La valeur de clé d’entité cible est toujours propagée à partir de l’entité à laquelle elle appartient.

Le type d’entité cible pour chaque relation de propriété est traité comme un type d’entité différent même si la navigation est du même type. La configuration du type d’entité cible n’est pas appliquée au type d’entité cible d’autres relations de propriété.

La plupart des opérations sur une entité détenue nécessitent l’accès via l’entité propriétaire à l’aide de la navigation correspondante.

OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>)

Configure une relation dans laquelle l’entité cible appartient (ou une partie) de cette entité. La valeur de clé d’entité cible est toujours propagée à partir de l’entité à laquelle elle appartient.

Le type d’entité cible pour chaque relation de propriété est traité comme un type d’entité différent même si la navigation est du même type. La configuration du type d’entité cible n’est pas appliquée au type d’entité cible d’autres relations de propriété.

La plupart des opérations sur une entité détenue nécessitent l’accès via l’entité propriétaire à l’aide de la navigation correspondante.

OwnsOne(Type, String)

Configure une relation dans laquelle l’entité cible appartient (ou une partie) de cette entité. La valeur de clé d’entité cible est toujours propagée à partir de l’entité à laquelle elle appartient.

Le type d’entité cible pour chaque relation de propriété est traité comme un type d’entité différent même si la navigation est du même type. La configuration du type d’entité cible n’est pas appliquée au type d’entité cible d’autres relations de propriété.

La plupart des opérations sur une entité détenue nécessitent l’accès via l’entité propriétaire à l’aide de la navigation correspondante.

Property(String)

Retourne un objet qui peut être utilisé pour configurer une propriété du type d’entité appartenant. Si aucune propriété portant le nom donné n’existe, une nouvelle propriété est ajoutée.

Lors de l’ajout d’une nouvelle propriété avec cette surcharge, le nom de la propriété doit correspondre au nom d’une propriété ou d’un champ CLR sur le type d’entité. Cette surcharge ne peut pas être utilisée pour ajouter une nouvelle propriété d’état d’ombre.

Property(Type, String)

Retourne un objet qui peut être utilisé pour configurer une propriété du type d’entité appartenant. Si aucune propriété portant le nom donné n’existe, une nouvelle propriété est ajoutée.

Lors de l’ajout d’une nouvelle propriété, si une propriété portant le même nom existe dans la classe d’entité, elle sera ajoutée au modèle. Si aucune propriété n’existe dans la classe d’entité, une nouvelle propriété d’état d’ombre est ajoutée. Une propriété d’état d’ombre est une propriété qui n’a pas de propriété correspondante dans la classe d’entité. La valeur actuelle de la propriété est stockée au ChangeTracker lieu d’être stockée dans les instances de la classe d’entité.

Property<TProperty>(String)

Retourne un objet qui peut être utilisé pour configurer une propriété du type d’entité appartenant. Si aucune propriété portant le nom donné n’existe, une nouvelle propriété est ajoutée.

Lors de l’ajout d’une nouvelle propriété, si une propriété portant le même nom existe dans la classe d’entité, elle sera ajoutée au modèle. Si aucune propriété n’existe dans la classe d’entité, une nouvelle propriété d’état d’ombre est ajoutée. Une propriété d’état d’ombre est une propriété qui n’a pas de propriété correspondante dans la classe d’entité. La valeur actuelle de la propriété est stockée au ChangeTracker lieu d’être stockée dans les instances de la classe d’entité.

UsePropertyAccessMode(PropertyAccessMode)

Définit la valeur PropertyAccessMode à utiliser pour toutes les propriétés de ce type d’entité.

Par défaut, le champ de stockage, s’il est trouvé par convention ou spécifié, est utilisé lorsque de nouveaux objets sont construits, généralement lorsque les entités sont interrogées à partir de la base de données. Les propriétés sont utilisées pour tous les autres accès. L’appel de cette méthode modifie ce comportement pour toutes les propriétés de ce type d’entité, comme décrit dans l’énumération PropertyAccessMode .

L’appel de cette méthode remplace toutes les propriétés de ce type d’entité tout mode d’accès défini sur le modèle.

Implémentations d’interfaces explicites

Nom Description
IInfrastructure<IMutableModel>.Instance

Modèle auquel appartient cette relation.

(Hérité de ReferenceCollectionBuilderBase)
IInfrastructure<InternalEntityTypeBuilder>.Instance

Obtient le générateur interne utilisé pour configurer le type d’entité appartenant.

IInfrastructure<InternalRelationshipBuilder>.Instance

Obtient le générateur interne utilisé pour configurer cette relation.

(Hérité de ReferenceCollectionBuilderBase)

Méthodes d’extension

Nom Description
ForSqlServerIsMemoryOptimized(CollectionOwnershipBuilder, Boolean)

Configure la table à laquelle l’entité est mappée lors du ciblage de SQL Server comme mémoire optimisée.

GetInfrastructure<T>(IInfrastructure<T>)

Obtient la valeur d’une propriété masquée à l’aide IInfrastructure<T>de .

Cette méthode est généralement utilisée par les fournisseurs de base de données (et d’autres extensions). Il n’est généralement pas utilisé dans le code d’application.

HasConstraintName(CollectionOwnershipBuilder, String)

Configure le nom de la contrainte de clé étrangère pour cette relation lors du ciblage d’une base de données relationnelle.

ToTable(CollectionOwnershipBuilder, String, String)

Configure la vue ou la table à laquelle l’entité est mappée lors du ciblage d’une base de données relationnelle.

ToTable(CollectionOwnershipBuilder, String)

Configure la vue ou la table à laquelle l’entité est mappée lors du ciblage d’une base de données relationnelle.

S’applique à