Compartir a través de


QueryTypeBuilder Clase

Definición

Proporciona una API sencilla para configurar un tipo de consulta.

Las instancias de esta clase se devuelven desde métodos cuando se usa la API y no está diseñado para construirse directamente en el ModelBuilder código de la aplicación.

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)
Herencia
QueryTypeBuilder
Derivado
Implementaciones
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

Constructores

QueryTypeBuilder(InternalEntityTypeBuilder)

Esta API admite la infraestructura de Entity Framework Core y no está pensada para usarse directamente desde el código. Esta API puede cambiar o quitarse en versiones futuras.

Propiedades

Metadata

Tipo de consulta que se está configurando.

Métodos

HasAnnotation(String, Object)

Agrega o actualiza una anotación en el tipo de consulta. Si ya existe una anotación con la clave especificada en annotation , se actualizará su valor.

HasBaseType(String)

Establece el tipo base de este tipo de consulta en una jerarquía de herencia.

HasBaseType(Type)

Establece el tipo base de este tipo de consulta en una jerarquía de herencia.

HasOne(String, String)

Configura una relación en la que este tipo de consulta tiene una referencia que apunta a una única instancia del otro tipo de la relación.

Tenga en cuenta que llamar a este método sin parámetros configurará explícitamente este lado de la relación para que no use ninguna propiedad de navegación, incluso si existe dicha propiedad en el tipo de entidad. Si se va a usar la propiedad de navegación, debe especificarse.

Después de llamar a este método, debe encadenar una llamada a WithMany(String) o WithOne(String) para configurar completamente la relación. Llamar solo a este método sin la llamada encadenada no generará una relación válida.

HasOne(Type, String)

Configura una relación en la que este tipo de consulta tiene una referencia que apunta a una única instancia del otro tipo de la relación.

Después de llamar a este método, debe encadenar una llamada a WithMany(String) o WithOne(String) para configurar completamente la relación. Llamar solo a este método sin la llamada encadenada no generará una relación válida.

HasQueryFilter(LambdaExpression)

Especifica una expresión de predicado LINQ que se aplicará automáticamente a las consultas destinadas a este tipo de consulta.

Ignore(String)

Excluye la propiedad especificada del tipo de consulta. Este método se usa normalmente para quitar propiedades del tipo de consulta que se agregaron por convención.

Property(String)

Devuelve un objeto que se puede usar para configurar una propiedad del tipo de consulta. Si no existe ninguna propiedad con el nombre especificado, se agregará una nueva propiedad.

Al agregar una nueva propiedad con esta sobrecarga, el nombre de la propiedad debe coincidir con el nombre de una propiedad o campo CLR en el tipo de consulta. Esta sobrecarga no se puede usar para agregar una nueva propiedad de estado de sombra.

Property(Type, String)

Devuelve un objeto que se puede usar para configurar una propiedad del tipo de consulta. Si no existe ninguna propiedad con el nombre especificado, se agregará una nueva propiedad.

Al agregar una nueva propiedad, si existe una propiedad con el mismo nombre en la clase de tipo de consulta, se agregará al modelo. Si no existe ninguna propiedad en la clase de tipo de consulta, se agregará una nueva propiedad de estado de sombra. Una propiedad de estado de sombra es una que no tiene una propiedad correspondiente en la clase de tipo de consulta. El valor actual de la propiedad se almacena en en ChangeTracker lugar de almacenarse en instancias de la clase de tipo de consulta.

Property<TProperty>(String)

Devuelve un objeto que se puede usar para configurar una propiedad del tipo de consulta. Si no existe ninguna propiedad con el nombre especificado, se agregará una nueva propiedad.

Al agregar una nueva propiedad, si existe una propiedad con el mismo nombre en la clase de tipo de consulta, se agregará al modelo. Si no existe ninguna propiedad en la clase de tipo de consulta, se agregará una nueva propiedad de estado de sombra. Una propiedad de estado de sombra es una que no tiene una propiedad correspondiente en la clase de tipo de consulta. El valor actual de la propiedad se almacena en en ChangeTracker lugar de almacenarse en instancias de la clase de tipo de consulta.

UsePropertyAccessMode(PropertyAccessMode)

Establece el objeto PropertyAccessMode que se va a usar para todas las propiedades de este tipo de consulta.

De forma predeterminada, el campo de respaldo, si se encuentra uno por convención o se ha especificado, se usa cuando se construyen nuevos objetos, normalmente cuando se consultan entidades de la base de datos. Las propiedades se usan para todos los demás accesos. Llamar a este método cambiará ese comportamiento para todas las propiedades de este tipo de consulta, tal como se describe en la PropertyAccessMode enumeración.

Al llamar a este método, se invalidan todas las propiedades de este tipo de consulta en cualquier modo de acceso establecido en el modelo.

Implementaciones de interfaz explícitas

IInfrastructure<IMutableModel>.Instance

Modelo al que pertenece el tipo de consulta.

IInfrastructure<InternalEntityTypeBuilder>.Instance

Obtiene el generador interno que se usa para configurar el tipo de consulta.

Métodos de extensión

GetInfrastructure<T>(IInfrastructure<T>)

Obtiene el valor de una propiedad que se oculta mediante IInfrastructure<T>.

Normalmente, los proveedores de bases de datos usan este método (y otras extensiones). Por lo general, no se usa en el código de aplicación.

HasDiscriminator(QueryTypeBuilder)

Configura la columna discriminadora usada para identificar qué tipo de consulta representa cada fila de una tabla cuando se asigna una jerarquía de herencia a una sola tabla de una base de datos relacional.

HasDiscriminator(QueryTypeBuilder, String, Type)

Configura la columna discriminadora usada para identificar qué tipo de consulta representa cada fila de una tabla cuando se asigna una jerarquía de herencia a una sola tabla de una base de datos relacional.

HasDiscriminator<TDiscriminator>(QueryTypeBuilder, String)

Configura la columna discriminadora usada para identificar qué tipo de consulta representa cada fila de una tabla cuando se asigna una jerarquía de herencia a una sola tabla de una base de datos relacional.

ToView(QueryTypeBuilder, String)

Configura la vista o tabla a la que se asigna la vista al establecer como destino una base de datos relacional.

ToView(QueryTypeBuilder, String, String)

Configura la vista o tabla a la que se asigna la vista al establecer como destino una base de datos relacional.

Se aplica a