QueryTypeBuilder Classe

Définition

Fournit une API simple pour configurer un type de requête.

Les instances de cette classe sont retournées à partir de méthodes lors de l’utilisation de l' ModelBuilder API, et elles ne sont pas conçues pour être construites directement dans le code de votre application.

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

Constructeurs

QueryTypeBuilder(InternalEntityTypeBuilder)

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

Metadata

Type de requête en cours de configuration.

Méthodes

HasAnnotation(String, Object)

Ajoute ou met à jour une annotation sur le type de requête. Si une annotation avec la clé spécifiée dans annotation existe déjà, sa valeur est mise à jour.

HasBaseType(String)

Définit le type de base de ce type de requête dans une hiérarchie d’héritage.

HasBaseType(Type)

Définit le type de base de ce type de requête dans une hiérarchie d’héritage.

HasOne(String, String)

Configure une relation dans laquelle ce type de requête 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 de requête a une référence qui pointe vers une instance unique de l’autre type dans la relation.

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.

HasQueryFilter(LambdaExpression)

Spécifie une expression de prédicat LINQ qui sera automatiquement appliquée à toutes les requêtes ciblant ce type de requête.

Ignore(String)

Exclut la propriété donnée du type de requête. Cette méthode est généralement utilisée pour supprimer des propriétés du type de requête qui ont été ajoutées par Convention.

Property(String)

Retourne un objet qui peut être utilisé pour configurer une propriété du type de requête. 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 de requête. 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 de requête. 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 de type de requête, elle est ajoutée au modèle. Si aucune propriété n’existe dans la classe de type de requête, une nouvelle propriété d’état d’ombre sera ajoutée. Une propriété d’état d’ombre est une propriété qui n’a pas de propriété correspondante dans la classe de type de requête. 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 de type de requête.

Property<TProperty>(String)

Retourne un objet qui peut être utilisé pour configurer une propriété du type de requête. 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 de type de requête, elle est ajoutée au modèle. Si aucune propriété n’existe dans la classe de type de requête, une nouvelle propriété d’état d’ombre sera ajoutée. Une propriété d’état d’ombre est une propriété qui n’a pas de propriété correspondante dans la classe de type de requête. 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 de type de requête.

UsePropertyAccessMode(PropertyAccessMode)

Définit le PropertyAccessMode à utiliser pour toutes les propriétés de ce type de requête.

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 de requête, comme décrit dans l' PropertyAccessMode énumération.

L’appel de cette méthode remplace toutes les propriétés de ce type de requête par un mode d’accès défini sur le modèle.

Implémentations d’interfaces explicites

IInfrastructure<IMutableModel>.Instance

Modèle auquel le type de requête appartient.

IInfrastructure<InternalEntityTypeBuilder>.Instance

Obtient le générateur interne utilisé pour configurer le type de requête.

Méthodes d’extension

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.

HasDiscriminator(QueryTypeBuilder)

Configure la colonne de discriminateur utilisée pour identifier le type de requête que chaque ligne d’une table représente lorsqu’une hiérarchie d’héritage est mappée à une table unique dans une base de données relationnelle.

HasDiscriminator(QueryTypeBuilder, String, Type)

Configure la colonne de discriminateur utilisée pour identifier le type de requête que chaque ligne d’une table représente lorsqu’une hiérarchie d’héritage est mappée à une table unique dans une base de données relationnelle.

HasDiscriminator<TDiscriminator>(QueryTypeBuilder, String)

Configure la colonne de discriminateur utilisée pour identifier le type de requête que chaque ligne d’une table représente lorsqu’une hiérarchie d’héritage est mappée à une table unique dans une base de données relationnelle.

ToView(QueryTypeBuilder, String)

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

ToView(QueryTypeBuilder, String, String)

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

S’applique à