OwnedNavigationBuilder Classe

Définition

Fournit une API simple pour configurer une navigation vers un type d’entité détenu.

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

Constructeurs

OwnedNavigationBuilder(EntityType, EntityType, InternalRelationshipBuilder)

Il s’agit d’une API interne qui prend en charge l’infrastructure Entity Framework Core et qui n’est pas soumise aux mêmes normes de compatibilité que les API publiques. Elle peut être modifiée ou supprimée sans préavis dans aucune version. Vous ne devez l’utiliser directement dans votre code qu’avec une extrême prudence et savoir que cela peut entraîner des échecs d’application lors de la mise à jour vers une nouvelle version de Entity Framework Core.

OwnedNavigationBuilder(IMutableForeignKey)

Il s’agit d’une API interne qui prend en charge l’infrastructure Entity Framework Core et qui n’est pas soumise aux mêmes normes de compatibilité que les API publiques. Elle peut être modifiée ou supprimée sans préavis dans aucune version. Vous ne devez l’utiliser directement dans votre code qu’avec une extrême prudence et savoir que cela peut entraîner des échecs d’application lors de la mise à jour vers une nouvelle version de Entity Framework Core.

Propriétés

Builder

Il s’agit d’une API interne qui prend en charge l’infrastructure Entity Framework Core et qui n’est pas soumise aux mêmes normes de compatibilité que les API publiques. Elle peut être modifiée ou supprimée sans préavis dans aucune version. Vous ne devez l’utiliser directement dans votre code qu’avec une extrême prudence et savoir que cela peut entraîner des échecs d’application lors de la mise à jour vers une nouvelle version de Entity Framework Core.

DependentEntityType

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

Metadata

Clé étrangère qui représente cette propriété.

OwnedEntityType

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

PrincipalEntityType

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

Méthodes

FindRelatedEntityType(String, String)

Il s’agit d’une API interne qui prend en charge l’infrastructure Entity Framework Core et qui n’est pas soumise aux mêmes normes de compatibilité que les API publiques. Elle peut être modifiée ou supprimée sans préavis dans aucune version. Vous ne devez l’utiliser directement dans votre code qu’avec une extrême prudence et savoir que cela peut entraîner des échecs d’application lors de la mise à jour vers une nouvelle version de Entity Framework Core.

FindRelatedEntityType(Type, String)

Il s’agit d’une API interne qui prend en charge l’infrastructure Entity Framework Core et qui n’est pas soumise aux mêmes normes de compatibilité que les API publiques. Elle peut être modifiée ou supprimée sans préavis dans aucune version. Vous ne devez l’utiliser directement dans votre code qu’avec une extrême prudence et savoir que cela peut entraîner des échecs d’application lors de la mise à jour vers une nouvelle version de Entity Framework Core.

HasAnnotation(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.

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’une instance du type d’entité.

HasData(IEnumerable<Object>)

Configure cette entité pour qu’elle ait des données de départ. Elle est utilisée pour générer des migrations de mouvement de données.

HasData(Object[])

Configure cette entité pour qu’elle ait des données de départ. Elle est utilisée pour générer des migrations de mouvement de données.

HasIndex(String[])

Configure un index sur les propriétés spécifiées. S’il existe un index 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é détenu.

HasOne(String)

Configure une relation dans laquelle 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 n’utiliser 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 sans l’appel chaîné ne produira pas de relation valide.

HasOne(String, String)

Configure une relation dans laquelle 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 n’utiliser 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 sans l’appel chaîné ne produira pas de relation valide.

HasOne(Type, String)

Configure une relation dans laquelle 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 n’utiliser 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 sans l’appel chaîné ne produira pas de relation valide.

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 ou des navigations du type d’entité détenu qui ont été ajoutées par Convention.

IndexerProperty(Type, String)

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

Les propriétés de l’indexeur sont stockées dans l’entité à l’aide d’un indexeur qui fournit le nom de propriété fourni.

IndexerProperty<TProperty>(String)

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

Les propriétés de l’indexeur sont stockées dans l’entité à l’aide d’un indexeur qui fournit le nom de propriété fourni.

Navigation(String)

Retourne un objet qui peut être utilisé pour configurer une propriété de navigation existante du type détenu à son propriétaire. Il s’agit d’une erreur pour que la propriété de navigation n’existe pas.

OwnsMany(String, String)

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

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étenues requièrent l’accès à celle-ci par le biais de l’entité propriétaire à l’aide de la navigation correspondante.

Après avoir appelé cette méthode, vous devez chaîner un appel à WithOwner(String) pour configurer entièrement la relation.

OwnsMany(String, String, Action<OwnedNavigationBuilder>)

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

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étenues requièrent l’accès à celle-ci par le biais de l’entité propriétaire à l’aide de la navigation correspondante.

Après avoir appelé cette méthode, vous devez chaîner un appel à WithOwner(String) pour configurer entièrement la relation.

OwnsMany(String, Type, String)

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

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étenues requièrent l’accès à celle-ci par le biais de l’entité propriétaire à l’aide de la navigation correspondante.

Après avoir appelé cette méthode, vous devez chaîner un appel à WithOwner(String) pour configurer entièrement la relation.

OwnsMany(String, Type, String, Action<OwnedNavigationBuilder>)

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

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étenues requièrent l’accès à celle-ci par le biais de l’entité propriétaire à l’aide de la navigation correspondante.

Après avoir appelé cette méthode, vous devez chaîner un appel à WithOwner(String) pour configurer entièrement la relation.

OwnsMany(Type, String)

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

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étenues requièrent l’accès à celle-ci par le biais de l’entité propriétaire à l’aide de la navigation correspondante.

Après avoir appelé cette méthode, vous devez chaîner un appel à WithOwner(String) pour configurer entièrement la relation.

OwnsMany(Type, String, Action<OwnedNavigationBuilder>)

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

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étenues requièrent l’accès à celle-ci par le biais de l’entité propriétaire à l’aide de la navigation correspondante.

Après avoir appelé cette méthode, vous devez chaîner un appel à WithOwner(String) pour configurer entièrement la relation.

OwnsOne(String, String)

Configure une relation dans laquelle l’entité cible appartient à cette entité (ou une partie de celle-ci). 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étenues requièrent l’accès à celle-ci par le biais de l’entité propriétaire à l’aide de la navigation correspondante.

Après avoir appelé cette méthode, vous devez chaîner un appel à WithOwner(String) pour configurer entièrement la relation.

OwnsOne(String, String, Action<OwnedNavigationBuilder>)

Configure une relation dans laquelle l’entité cible appartient à cette entité (ou une partie de celle-ci). 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étenues requièrent l’accès à celle-ci par le biais de l’entité propriétaire à l’aide de la navigation correspondante.

Après avoir appelé cette méthode, vous devez chaîner un appel à WithOwner(String) pour configurer entièrement la relation.

OwnsOne(String, Type, String)

Configure une relation dans laquelle l’entité cible appartient à cette entité (ou une partie de celle-ci). 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étenues requièrent l’accès à celle-ci par le biais de l’entité propriétaire à l’aide de la navigation correspondante.

Après avoir appelé cette méthode, vous devez chaîner un appel à WithOwner(String) pour configurer entièrement la relation.

OwnsOne(String, Type, String, Action<OwnedNavigationBuilder>)

Configure une relation dans laquelle l’entité cible appartient à cette entité (ou une partie de celle-ci). 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étenues requièrent l’accès à celle-ci par le biais de l’entité propriétaire à l’aide de la navigation correspondante.

Après avoir appelé cette méthode, vous devez chaîner un appel à WithOwner(String) pour configurer entièrement la relation.

OwnsOne(Type, String)

Configure une relation dans laquelle l’entité cible appartient à cette entité (ou une partie de celle-ci). 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étenues requièrent l’accès à celle-ci par le biais de l’entité propriétaire à l’aide de la navigation correspondante.

Après avoir appelé cette méthode, vous devez chaîner un appel à WithOwner(String) pour configurer entièrement la relation.

OwnsOne(Type, String, Action<OwnedNavigationBuilder>)

Configure une relation dans laquelle l’entité cible appartient à cette entité (ou une partie de celle-ci). 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étenues requièrent l’accès à celle-ci par le biais de l’entité propriétaire à l’aide de la navigation correspondante.

Après avoir appelé cette méthode, vous devez chaîner un appel à WithOwner(String) pour configurer entièrement la relation.

Property(String)

Retourne un objet qui peut être utilisé pour configurer une propriété du type d’entité détenu. S’il n’existe aucune propriété avec le nom donné, 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. S’il n’existe aucune propriété avec le nom donné, une nouvelle propriété est ajoutée.

Lors de l’ajout d’une nouvelle propriété, si une propriété du 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 le au ChangeTracker lieu d’être stockée dans des 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. S’il n’existe aucune propriété avec le nom donné, une nouvelle propriété est ajoutée.

Lors de l’ajout d’une nouvelle propriété, si une propriété du 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 le au ChangeTracker lieu d’être stockée dans des instances de la classe d’entité.

UpdateBuilder<T>(Func<T>)

Il s’agit d’une API interne qui prend en charge l’infrastructure Entity Framework Core et qui n’est pas soumise aux mêmes normes de compatibilité que les API publiques. Elle peut être modifiée ou supprimée sans préavis dans aucune version. Vous ne devez l’utiliser directement dans votre code qu’avec une extrême prudence et savoir que cela peut entraîner des échecs d’application lors de la mise à jour vers une nouvelle version de Entity Framework Core.

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, si celui-ci est trouvé par convention ou a été spécifié, est utilisé lors de la construction de nouveaux objets, en général 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' PropertyAccessMode énumération.

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

WithOwner(String)

Configure la relation avec le propriétaire.

Notez que l’appel de cette méthode sans paramètres configure explicitement ce côté de la relation pour n’utiliser 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.

Implémentations d’interfaces explicites

IInfrastructure<IConventionEntityTypeBuilder>.Instance

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

IInfrastructure<InternalEntityTypeBuilder>.Instance

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

Méthodes d’extension

ToJsonProperty(OwnedNavigationBuilder, String)

Configure le nom de la propriété à laquelle l’entité est mappée lorsqu’elle est stockée en tant que document incorporé.

GetInfrastructure<T>(IInfrastructure<T>)

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

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.

IInfrastructure<T> est utilisé pour masquer les propriétés qui ne sont pas destinées à être utilisées dans le code de l’application, mais qui peuvent être utilisées dans les méthodes d’extension écrites par les fournisseurs de base de données, etc.

ToFunction(OwnedNavigationBuilder, String)

Configure la fonction à laquelle le type d’entité est mappé lors du ciblage d’une base de données relationnelle.

ToFunction(OwnedNavigationBuilder, String, Action<TableValuedFunctionBuilder>)

Configure la fonction à laquelle le type d’entité est mappé lors du ciblage d’une base de données relationnelle.

ToTable(OwnedNavigationBuilder, String)

Configure la table à laquelle le type d’entité est mappé lors du ciblage d’une base de données relationnelle.

ToTable(OwnedNavigationBuilder, String, Boolean)

Configure la table à laquelle le type d’entité est mappé lors du ciblage d’une base de données relationnelle.

ToTable(OwnedNavigationBuilder, String, String)

Configure la table à laquelle le type d’entité est mappé lors du ciblage d’une base de données relationnelle.

ToTable(OwnedNavigationBuilder, String, String, Boolean)

Configure la table à laquelle le type d’entité est mappé lors du ciblage d’une base de données relationnelle.

HasCheckConstraint(OwnedNavigationBuilder, String, String)

Configure une contrainte de validation de base de données lors du ciblage d’une base de données relationnelle.

ForSqlServerIsMemoryOptimized(OwnedNavigationBuilder, Boolean)
Obsolète.

Configure la table à laquelle l’entité est mappée en ciblant SQL Server comme mémoire optimisée.

IsMemoryOptimized(OwnedNavigationBuilder, Boolean)

Configure la table à laquelle l’entité est mappée en ciblant SQL Server comme mémoire optimisée.

S’applique à