ReferenceOwnershipBuilder Classe

Définition

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

public class ReferenceOwnershipBuilder : Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceReferenceBuilderBase, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>
type ReferenceOwnershipBuilder = class
    inherit ReferenceReferenceBuilderBase
    interface IInfrastructure<InternalEntityTypeBuilder>
Public Class ReferenceOwnershipBuilder
Inherits ReferenceReferenceBuilderBase
Implements IInfrastructure(Of InternalEntityTypeBuilder)
Héritage
ReferenceOwnershipBuilder
Dérivé
Implémente
IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

Constructeurs

ReferenceOwnershipBuilder(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 pourra être changée ou supprimée dans les versions ultérieures.

ReferenceOwnershipBuilder(InternalRelationshipBuilder, ReferenceOwnershipBuilder, Boolean, 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 pourra être changée ou supprimée dans les versions ultérieures.

Propriétés

Builder

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

(Hérité de ReferenceReferenceBuilderBase)
DeclaringEntityType

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

(Hérité de ReferenceReferenceBuilderBase)
Metadata

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

(Hérité de ReferenceReferenceBuilderBase)
OwnedEntityType

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

RelatedEntityType

Obtient le deuxième type d’entité utilisé pour configurer cette relation.

(Hérité de ReferenceReferenceBuilderBase)

Méthodes

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 pourra être changée ou 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 pourra être changée ou supprimée dans les versions ultérieures.

HasChangeTrackingStrategy(ChangeTrackingStrategy)

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

HasData(Object[])

Configure cette entité pour qu’elle ait des données de départ. 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é détenu. Si une annotation avec la clé spécifiée dans 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 sont 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 dans plutôt ChangeTracker que stockée dans les instances de la classe d’entité.

Si HasPrincipalKey(String[]) n’est pas spécifié, une tentative est effectuée pour faire correspondre le type de données et l’ordre des propriétés de clé étrangère à la clé primaire du type d’entité principal. Si elles ne correspondent pas, les 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 dans 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 sur le jeu 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é détenu.

HasMany(String, String)

Configure une relation où ce type d’entité a une collection qui contient des instances de l’autre type dans la relation.

Notez que l’appel de cette méthode sans paramètre configure explicitement ce côté de la relation pour qu’il 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 à WithOne(String) pour configurer entièrement la relation. L’appel de cette méthode uniquement sans l’appel chaîné ne produit pas de relation valide.

HasMany(Type, String)

Configure une relation où ce type d’entité a une collection qui contient des instances de l’autre type dans la relation.

Notez que l’appel de cette méthode sans paramètre configure explicitement ce côté de la relation pour qu’il 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 à WithOne(String) pour configurer entièrement la relation. L’appel de cette méthode uniquement sans l’appel chaîné ne produit pas de relation valide.

HasOne(String, String)

Configure une relation dans laquelle ce type d’entité a une référence qui pointe vers un seul instance de l’autre type de la relation.

Notez que l’appel de cette méthode sans paramètre configure explicitement ce côté de la relation pour qu’il 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 à WithMany(String) ou WithOne(String) pour configurer entièrement la relation. L’appel de cette méthode uniquement sans l’appel chaîné ne produit pas de relation valide.

HasOne(Type, String)

Configure une relation dans laquelle ce type d’entité a une référence qui pointe vers un seul instance de l’autre type de la relation.

Notez que l’appel de cette méthode sans paramètre configure explicitement ce côté de la relation pour qu’il 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 à WithMany(String) ou WithOne(String) pour configurer entièrement la relation. L’appel de cette méthode uniquement sans l’appel chaîné ne produit pas de relation valide.

HasPrincipalKey(String[])

Configure la ou les propriétés uniques ciblées par cette relation, c’est-à-dire sur le type d’entité propriétaire. 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 est introduite.

Ignore(String)

Exclut la propriété donnée du type d’entité. Cette méthode est généralement utilisée pour supprimer des propriétés du type d’entité détenu 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 de la relation lorsque le principal est supprimé ou que la relation est supprimée.

OwnsMany(String, String)

Configure une relation dans laquelle l’entité cible appartient (ou fait 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 à celle-ci via l’entité propriétaire à l’aide de la navigation correspondante.

OwnsMany(String, String, Action<CollectionOwnershipBuilder>)

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

OwnsMany(Type, String)

Configure une relation dans laquelle l’entité cible appartient (ou fait 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 à celle-ci 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 l’identité à l’autre type de la relation.

OwnsOne(String, String)

Configure une relation dans laquelle l’entité cible appartient (ou fait 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 à celle-ci 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 fait 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 à celle-ci via l’entité propriétaire à l’aide de la navigation correspondante.

OwnsOne(Type, String)

Configure une relation dans laquelle l’entité cible appartient (ou fait 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 à celle-ci 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 fait 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 à celle-ci 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é détenu. 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é détenu. 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 est 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 dans plutôt ChangeTracker que 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é détenu. 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 est 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 dans plutôt que dans les ChangeTracker instances de la classe d’entité.

UsePropertyAccessMode(PropertyAccessMode)

Définit le 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 a été spécifié, est utilisé lorsque de nouveaux objets sont construits, généralement lorsque des 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 pour 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

IInfrastructure<IMutableModel>.Instance

Modèle auquel cette relation appartient.

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

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

IInfrastructure<InternalRelationshipBuilder>.Instance

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

(Hérité de ReferenceReferenceBuilderBase)

Méthodes d’extension

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 de l’application.

HasConstraintName(ReferenceOwnershipBuilder, 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(ReferenceOwnershipBuilder, String)

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

ToTable(ReferenceOwnershipBuilder, String, String)

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

ForSqlServerIsMemoryOptimized(ReferenceOwnershipBuilder, Boolean)

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

S’applique à