Idioma

IModel Interface

Definição

Metadados sobre a forma das entidades, as relações entre elas e como elas são mapeadas para o banco de dados. Um modelo normalmente é criado substituindo o OnModelCreating(ModelBuilder) método em um derivado DbContext.

public interface IModel : Microsoft.EntityFrameworkCore.Infrastructure.IAnnotatable
public interface IModel : Microsoft.EntityFrameworkCore.Infrastructure.IAnnotatable, Microsoft.EntityFrameworkCore.Metadata.IReadOnlyModel
type IModel = interface
    interface IAnnotatable
type IModel = interface
    interface IReadOnlyModel
    interface IReadOnlyAnnotatable
    interface IAnnotatable
Public Interface IModel
Implements IAnnotatable
Public Interface IModel
Implements IAnnotatable, IReadOnlyModel
Derivado
Implementações

Comentários

O tempo de vida do serviço é Scoped. Isso significa que cada DbContext instância usará sua própria instância desse serviço. A implementação pode depender de outros serviços registrados com qualquer tempo de vida. A implementação não precisa ser thread-safe.

Consulte os tipos e relações de entidade de modelagem para obter mais informações e exemplos.

Propriedades

Nome Descrição
Item[String]

Obtém o valor da anotação com o nome fornecido, retornando null se ela não existir.

(Herdado de IReadOnlyAnnotatable)
ModelDependencies

As dependências do serviço de runtime.

ModelId

Essa é uma API interna que dá suporte à infraestrutura de Entity Framework Core e não está sujeita aos mesmos padrões de compatibilidade que as APIs públicas. Ele pode ser alterado ou removido sem aviso prévio em qualquer versão. Você só deve usá-lo diretamente em seu código com extrema cautela e saber que fazer isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão Entity Framework Core.

(Herdado de IReadOnlyModel)

Métodos

Nome Descrição
AddRuntimeAnnotation(String, Object)

Adiciona uma anotação de runtime a esse objeto. Gerará se já existir uma anotação com o nome especificado.

(Herdado de IAnnotatable)
AnnotationsToDebugString(Int32)

Obtém a cadeia de caracteres de depuração para todas as anotações declaradas no objeto.

(Herdado de IReadOnlyAnnotatable)
FindAnnotation(String)

Obtém a anotação com o nome fornecido, retornando null se ela não existir.

(Herdado de IReadOnlyAnnotatable)
FindEntityType(String, String, IEntityType)

Obtém o tipo de entidade para o nome fornecido, definindo o nome de navegação e o tipo de entidade definidor. Retorna null se nenhum tipo de entidade correspondente for encontrado.

FindEntityType(String, String, IReadOnlyEntityType)

Obtém o tipo de entidade para o nome base fornecido, definindo o nome de navegação e o tipo de entidade definidor. Retorna null se nenhum tipo de entidade correspondente for encontrado.

(Herdado de IReadOnlyModel)
FindEntityType(String)

Obtém a entidade com o nome fornecido. Retorna null se nenhum tipo de entidade com o nome fornecido for encontrado ou se o tipo CLR fornecido estiver sendo usado pelo tipo de entidade de tipo compartilhado ou se o tipo de entidade tiver uma navegação definidora.

FindEntityType(Type, String, IEntityType)

Obtém o tipo de entidade para o nome fornecido, definindo o nome de navegação e o tipo de entidade definidor. Retorna null se nenhum tipo de entidade correspondente for encontrado.

FindEntityType(Type, String, IReadOnlyEntityType)

Obtém o tipo de entidade para o tipo fornecido, definindo o nome de navegação e o tipo de entidade definidor. Retorna null se nenhum tipo de entidade correspondente for encontrado.

(Herdado de IReadOnlyModel)
FindEntityType(Type)

Obtém a entidade que mapeia a classe de entidade fornecida. Retorna null se nenhum tipo de entidade com o tipo CLR fornecido for encontrado ou se o tipo CLR fornecido estiver sendo usado pelo tipo de entidade de tipo compartilhado ou o tipo de entidade tiver uma navegação definidora.

FindEntityTypes(Type)

Obtém os tipos de entidade que correspondem ao tipo fornecido.

FindLeastDerivedEntityTypes(Type, Func<IReadOnlyEntityType,Boolean>)

Retorna os tipos de entidade correspondentes aos tipos menos derivados do determinado.

FindRuntimeAnnotation(String)

Obtém a anotação de runtime com o nome fornecido, retornando null se ela não existir.

(Herdado de IAnnotatable)
FindRuntimeAnnotationValue(String)

Obtém o valor da anotação de runtime com o nome fornecido, retornando null se ela não existir.

(Herdado de IAnnotatable)
FindRuntimeEntityType(Type)

Obtém a entidade que mapeia a classe de entidade fornecida, em que a classe pode ser um proxy derivado do tipo de entidade real. Retorna null se nenhum tipo de entidade com o tipo CLR fornecido for encontrado ou se o tipo CLR fornecido estiver sendo usado pelo tipo de entidade de tipo compartilhado ou o tipo de entidade tiver uma navegação definidora.

FindTypeMappingConfiguration(Type)

Localiza a configuração de pré-convenção para um determinado escalar Type.

GetAnnotation(String)

Obtém a anotação com o nome fornecido, lançando se ela não existir.

(Herdado de IReadOnlyAnnotatable)
GetAnnotations()

Obtém todas as anotações no objeto atual.

(Herdado de IReadOnlyAnnotatable)
GetChangeTrackingStrategy()

Obtém a estratégia de controle de alterações padrão que está sendo usada para entidades no modelo. Essa estratégia indica como o contexto detecta alterações nas propriedades de uma instância de um tipo de entidade.

(Herdado de IReadOnlyModel)
GetEmbeddedDiscriminatorName()

Obtém o nome a ser usado para propriedades discriminatórias inseridas em documentos JSON. O padrão é "$type".

(Herdado de IReadOnlyModel)
GetEntityTypes()

Obtém todos os tipos de entidade definidos no modelo.

GetModelDependencies()

Obtém as dependências do serviço de runtime.

GetOrAddRuntimeAnnotationValue<TValue,TArg>(String, Func<TArg,TValue>, TArg)

Obtém o valor da anotação de runtime com o nome fornecido, adicionando-o se um não existir.

(Herdado de IAnnotatable)
GetProductVersion()

Obtém a versão do assembly do EF Core usada para criar esse modelo.

(Herdado de IReadOnlyModel)
GetPropertyAccessMode()

Obtém o PropertyAccessMode que está sendo usado para propriedades de tipos de entidade neste modelo.

(Herdado de IReadOnlyModel)
GetRuntimeAnnotations()

Obtém todas as anotações de runtime no objeto atual.

(Herdado de IAnnotatable)
GetTypeMappingConfigurations()

Obtém todas as configurações de pré-convenção.

IsIndexerMethod(MethodInfo)

Obtém um valor que indica se o determinado MethodInfo representa um acesso de indexador.

IsShared(Type)

Obtém um valor que indica se o tipo CLR é usado por entidades de tipo compartilhado no modelo.

(Herdado de IReadOnlyModel)
RemoveRuntimeAnnotation(String)

Remove a anotação de runtime fornecida desse objeto.

(Herdado de IAnnotatable)
SetRuntimeAnnotation(String, Object)

Define a anotação de runtime armazenada sob a chave fornecida. Substituirá a anotação existente se já existir uma anotação com o nome especificado.

(Herdado de IAnnotatable)
ToDebugString(MetadataDebugStringOptions, Int32)

Cria uma representação legível por humanos dos metadados especificados.

Aviso: não dependa do formato da cadeia de caracteres retornada. Ele foi projetado apenas para depuração e pode mudar arbitrariamente entre versões.

(Herdado de IReadOnlyModel)

Métodos de Extensão

Nome Descrição
AnnotationsToDebugString(IAnnotatable, Int32)

Obtém a cadeia de caracteres de depuração para todas as anotações declaradas no objeto.

AreNamedDefaultConstraintsUsed(IReadOnlyModel)

Retorna o valor que indica se as restrições padrão nomeadas devem ser usadas.

FindDbFunction(IModel, MethodInfo)

Localiza uma função mapeada para o método representado pelo determinado MethodInfo.

FindDbFunction(IModel, String)

Localiza uma função mapeada para o método representado pelo nome fornecido.

FindDbFunction(IReadOnlyModel, MethodInfo)

Localiza uma função mapeada para o método representado pelo determinado MethodInfo.

FindDbFunction(IReadOnlyModel, String)

Localiza uma função mapeada para o método representado pelo nome fornecido.

FindEntityType(IModel, Type, String, IEntityType)

Obtém o tipo de entidade para o tipo fornecido, definindo o nome de navegação e o tipo de entidade definidor. Retorna null se nenhum tipo de entidade correspondente for encontrado.

FindEntityType(IModel, Type)
Obsoleto.

Obtém a entidade que mapeia a classe de entidade fornecida. Retorna null se nenhum tipo de entidade com o tipo CLR fornecido for encontrado ou se o tipo CLR fornecido estiver sendo usado pelo tipo de entidade de tipo compartilhado ou o tipo de entidade tiver uma navegação definidora.

FindFullTextCatalog(IModel, String)

Localiza um catálogo de texto completo no modelo ou retorna null se não for encontrado.

FindFullTextCatalog(IReadOnlyModel, String)

Localiza um catálogo de texto completo no modelo ou retorna null se não for encontrado.

FindRuntimeEntityType(IModel, Type)

Obtém a entidade que mapeia a classe de entidade fornecida, em que a classe pode ser um proxy derivado do tipo de entidade real. Retorna null se nenhum tipo de entidade com o tipo CLR fornecido for encontrado ou se o tipo CLR fornecido estiver sendo usado pelo tipo de entidade de tipo compartilhado ou o tipo de entidade tiver uma navegação definidora.

FindSequence(IModel, String, String)

Localiza uma sequência com o nome fornecido.

FindSequence(IReadOnlyModel, String, String)

Localiza uma sequência com o nome fornecido.

GetAnnotation(IAnnotatable, String)

Obtém a anotação com o nome fornecido, lançando se ela não existir.

GetChangeTrackingStrategy(IModel)

Obtém a estratégia de controle de alterações padrão que está sendo usada para entidades no modelo. Essa estratégia indica como o contexto detecta alterações nas propriedades de uma instância de um tipo de entidade.

GetCollation(IModel)

Retorna a ordenação do banco de dados.

GetCollation(IReadOnlyModel)

Retorna a ordenação do banco de dados.

GetDatabaseMaxSize(IModel)

Retorna o tamanho máximo do banco de dados.

GetDatabaseMaxSize(IReadOnlyModel)

Retorna o tamanho máximo do banco de dados.

GetDbFunctions(IModel)

Retorna todas as funções contidas no modelo.

GetDbFunctions(IReadOnlyModel)

Retorna todas as funções contidas no modelo.

GetDefaultContainer(IModel)

Retorna o nome do contêiner padrão.

GetDefaultContainer(IReadOnlyModel)

Retorna o nome do contêiner padrão.

GetDefaultFullTextSearchLanguage(IReadOnlyModel)

Retorna o idioma padrão para a pesquisa de texto completo no escopo do banco de dados.

GetDefaultSchema(IModel)

Retorna o esquema padrão a ser usado para o modelo ou null se nenhum foi definido.

GetDefaultSchema(IReadOnlyModel)

Retorna o esquema padrão a ser usado para o modelo ou null se nenhum foi definido.

GetDiscriminatorInKey(IReadOnlyModel)

Retorna um valor que indica se o tipo de entidade discriminatório deve ser incluído no valor de "id" JSON. Antes do EF Core 9, ele sempre foi incluído. A partir do EF Core 9, ele não é incluído por padrão.

GetEntityTypes(IModel, String)
Obsoleto.

Obtém os tipos de entidade que correspondem ao nome fornecido.

GetEntityTypes(IModel, Type)
Obsoleto.

Obtém os tipos de entidade que correspondem ao tipo fornecido.

GetFluentApiCalls(IModel, IAnnotationCodeGenerator)

Obtém as chamadas à API fluente para configurar um modelo.

GetFullTextCatalogs(IModel)

Obtém todos os catálogos de texto completo definidos no modelo.

GetFullTextCatalogs(IReadOnlyModel)

Obtém todos os catálogos de texto completo definidos no modelo.

GetHasShadowIds(IReadOnlyModel)

Retorna um valor que indica se a configuração para sempre criar a propriedade "__id" pode ser definida a partir da fonte de configuração atual

GetHiLoSequenceName(IModel)

Retorna o nome a ser usado para a sequência de hi-lo padrão.

GetHiLoSequenceName(IReadOnlyModel)

Retorna o nome a ser usado para a sequência de hi-lo padrão.

GetHiLoSequenceSchema(IModel)

Retorna o esquema a ser usado para a sequência de hi-lo padrão. UseHiLo(PropertyBuilder, String, String)

GetHiLoSequenceSchema(IReadOnlyModel)

Retorna o esquema a ser usado para a sequência de hi-lo padrão. UseHiLo(PropertyBuilder, String, String)

GetIdentityIncrement(IModel)

Retorna o incremento de identidade padrão.

GetIdentityIncrement(IReadOnlyModel)

Retorna o incremento de identidade padrão.

GetIdentitySeed(IModel)

Retorna a semente de identidade padrão.

GetIdentitySeed(IReadOnlyModel)

Retorna a semente de identidade padrão.

GetMaxIdentifierLength(IModel)

Retorna o comprimento máximo permitido para identificadores de repositório.

GetMaxIdentifierLength(IReadOnlyModel)

Retorna o comprimento máximo permitido para identificadores de repositório.

GetPerformanceLevelSql(IModel)

Retorna o nível de desempenho do banco de dados.

GetPerformanceLevelSql(IReadOnlyModel)

Retorna o nível de desempenho do banco de dados.

GetProductVersion(IModel)

Obtém a versão do assembly do EF Core usada para criar esse modelo

GetPropertyAccessMode(IModel)

Obtém o PropertyAccessMode que está sendo usado para propriedades de tipos de entidade neste modelo.

Observe que tipos de entidade individuais podem substituir esse modo de acesso e propriedades individuais de tipos de entidade podem substituir o modo de acesso definido no tipo de entidade. O valor retornado aqui será usado para qualquer propriedade para a qual nenhuma substituição tenha sido especificada.

GetRelationalDependencies(IModel, String)

Retorna as dependências de serviço relacional.

GetRelationalModel(IModel)

Retorna o modelo de banco de dados.

GetSequenceNameSuffix(IReadOnlyModel)

Retorna o sufixo a ser acrescentado ao nome de sequências criadas automaticamente.

GetSequences(IModel)

Retorna todas as sequências contidas no modelo.

GetSequences(IReadOnlyModel)

Retorna todas as sequências contidas no modelo.

GetSequenceSchema(IReadOnlyModel)

Retorna o esquema a ser usado para a sequência de geração de valor padrão. UseSequence(PropertyBuilder, String, String)

GetServiceTierSql(IModel)

Retorna a camada de serviço do banco de dados.

GetServiceTierSql(IReadOnlyModel)

Retorna a camada de serviço do banco de dados.

GetThroughput(IReadOnlyModel)

Retorna a taxa de transferência provisionada no escopo do banco de dados.

GetValueGenerationStrategy(IModel)

Retorna o SqlServerValueGenerationStrategy uso para propriedades de chaves no modelo, a menos que a propriedade tenha uma estratégia definida explicitamente.

GetValueGenerationStrategy(IReadOnlyModel)

Retorna o SqlServerValueGenerationStrategy uso para propriedades de chaves no modelo, a menos que a propriedade tenha uma estratégia definida explicitamente.

HasEntityTypeWithDefiningNavigation(IModel, String)
Obsoleto.

Obtém um valor que indica se o modelo contém um tipo de entidade correspondente com uma navegação definidora.

HasEntityTypeWithDefiningNavigation(IModel, Type)
Obsoleto.

Obtém um valor que indica se o modelo contém um tipo de entidade correspondente com uma navegação definidora.

IsIndexerMethod(IModel, MethodInfo)

Obtém um valor que indica se o MethodInfo fornecido reentra em um acesso de indexador.

IsShared(IModel, Type)

Obtém se o tipo CLR é usado por entidades de tipo compartilhado no modelo.

Relational(IModel)

Obtém os metadados específicos do banco de dados relacional para um modelo.

Scaffolding(IModel)

Metadados sobre a forma das entidades, as relações entre elas e como elas são mapeadas para o banco de dados. Um modelo normalmente é criado substituindo o OnModelCreating(ModelBuilder) método em um derivado DbContext.

Sqlite(IModel)

Obtém os metadados específicos do SQLite para um modelo.

SqlServer(IModel)

Obtém os metadados específicos SQL Server para um modelo.

ToDebugString(IModel, MetadataDebugStringOptions, Int32)

Cria uma representação legível por humanos dos metadados especificados.

Aviso: não dependa do formato da cadeia de caracteres retornada. Ele foi projetado apenas para depuração e pode mudar arbitrariamente entre versões.

Aplica-se a