QueryTypeBuilder Classe

Definição

Fornece uma API simples para configurar um tipo de consulta.

As instâncias dessa classe são retornadas de métodos ao usar a ModelBuilder API e ela não foi projetada para ser construída diretamente no código do aplicativo.

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)
Herança
QueryTypeBuilder
Derivado
Implementações
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

Construtores

QueryTypeBuilder(InternalEntityTypeBuilder)

Essa API dá suporte à infraestrutura do Entity Framework Core e não se destina a ser usada diretamente do seu código. Essa API pode ser alterada ou removida em versões futuras.

Propriedades

Metadata

O tipo de consulta que está sendo configurado.

Métodos

HasAnnotation(String, Object)

Adiciona ou atualiza uma anotação no tipo de consulta. Se uma anotação com a chave especificada em annotation já existir, seu valor será atualizado.

HasBaseType(String)

Define o tipo base desse tipo de consulta em uma hierarquia de herança.

HasBaseType(Type)

Define o tipo base desse tipo de consulta em uma hierarquia de herança.

HasOne(String, String)

Configura uma relação em que esse tipo de consulta tem uma referência que aponta para uma única instância do outro tipo na relação.

Observe que chamar esse método sem parâmetros configurará explicitamente esse lado da relação para não usar nenhuma propriedade de navegação, mesmo que essa propriedade exista no tipo de entidade. Se a propriedade de navegação for usada, ela deverá ser especificada.

Depois de chamar esse método, você deve encadear uma chamada para WithMany(String) ou WithOne(String) para configurar totalmente a relação. Chamar apenas esse método sem a chamada encadeada não produzirá uma relação válida.

HasOne(Type, String)

Configura uma relação em que esse tipo de consulta tem uma referência que aponta para uma única instância do outro tipo na relação.

Depois de chamar esse método, você deve encadear uma chamada para WithMany(String) ou WithOne(String) para configurar totalmente a relação. Chamar apenas esse método sem a chamada encadeada não produzirá uma relação válida.

HasQueryFilter(LambdaExpression)

Especifica uma expressão de predicado LINQ que será aplicada automaticamente a todas as consultas direcionadas a esse tipo de consulta.

Ignore(String)

Exclui a propriedade fornecida do tipo de consulta. Esse método normalmente é usado para remover propriedades do tipo de consulta que foram adicionadas por convenção.

Property(String)

Retorna um objeto que pode ser usado para configurar uma propriedade do tipo de consulta. Se nenhuma propriedade com o nome fornecido existir, uma nova propriedade será adicionada.

Ao adicionar uma nova propriedade com essa sobrecarga, o nome da propriedade deve corresponder ao nome de uma propriedade ou campo CLR no tipo de consulta. Essa sobrecarga não pode ser usada para adicionar uma nova propriedade de estado de sombra.

Property(Type, String)

Retorna um objeto que pode ser usado para configurar uma propriedade do tipo de consulta. Se nenhuma propriedade com o nome fornecido existir, uma nova propriedade será adicionada.

Ao adicionar uma nova propriedade, se houver uma propriedade com o mesmo nome na classe de tipo de consulta, ela será adicionada ao modelo. Se nenhuma propriedade existir na classe de tipo de consulta, uma nova propriedade de estado de sombra será adicionada. Uma propriedade de estado de sombra é aquela que não tem uma propriedade correspondente na classe de tipo de consulta. O valor atual da propriedade é armazenado no ChangeTracker em vez de ser armazenado em instâncias da classe de tipo de consulta.

Property<TProperty>(String)

Retorna um objeto que pode ser usado para configurar uma propriedade do tipo de consulta. Se nenhuma propriedade com o nome fornecido existir, uma nova propriedade será adicionada.

Ao adicionar uma nova propriedade, se houver uma propriedade com o mesmo nome na classe de tipo de consulta, ela será adicionada ao modelo. Se nenhuma propriedade existir na classe de tipo de consulta, uma nova propriedade de estado de sombra será adicionada. Uma propriedade de estado de sombra é aquela que não tem uma propriedade correspondente na classe de tipo de consulta. O valor atual da propriedade é armazenado no ChangeTracker em vez de ser armazenado em instâncias da classe de tipo de consulta.

UsePropertyAccessMode(PropertyAccessMode)

Define o PropertyAccessMode a ser usado para todas as propriedades desse tipo de consulta.

Por padrão, o campo de suporte, se for encontrado por convenção ou tiver sido especificado, será usado quando novos objetos forem construídos, normalmente quando entidades são consultadas do banco de dados. As propriedades são usadas para todos os outros acessos. Chamar esse método alterará esse comportamento para todas as propriedades desse tipo de consulta, conforme descrito na PropertyAccessMode enumeração .

Chamar esse método substitui todas as propriedades desse tipo de consulta em qualquer modo de acesso definido no modelo.

Implantações explícitas de interface

IInfrastructure<IMutableModel>.Instance

O modelo ao qual o tipo de consulta pertence.

IInfrastructure<InternalEntityTypeBuilder>.Instance

Obtém o construtor interno que está sendo usado para configurar o tipo de consulta.

Métodos de Extensão

GetInfrastructure<T>(IInfrastructure<T>)

Obtém o valor de uma propriedade que está sendo ocultada usando IInfrastructure<T>.

Esse método normalmente é usado por provedores de banco de dados (e outras extensões). Geralmente, ele não é usado no código do aplicativo.

HasDiscriminator(QueryTypeBuilder)

Configura a coluna discriminatória usada para identificar qual tipo de consulta cada linha em uma tabela representa quando uma hierarquia de herança é mapeada para uma única tabela em um banco de dados relacional.

HasDiscriminator(QueryTypeBuilder, String, Type)

Configura a coluna discriminatória usada para identificar qual tipo de consulta cada linha em uma tabela representa quando uma hierarquia de herança é mapeada para uma única tabela em um banco de dados relacional.

HasDiscriminator<TDiscriminator>(QueryTypeBuilder, String)

Configura a coluna discriminatória usada para identificar qual tipo de consulta cada linha em uma tabela representa quando uma hierarquia de herança é mapeada para uma única tabela em um banco de dados relacional.

ToView(QueryTypeBuilder, String)

Configura a exibição ou tabela para a qual a exibição é mapeada ao direcionar um banco de dados relacional.

ToView(QueryTypeBuilder, String, String)

Configura a exibição ou tabela para a qual a exibição é mapeada ao direcionar um banco de dados relacional.

Aplica-se a