Compartilhar via


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.

Confira Modelagem de tipos de entidade e relações para obter mais informações e exemplos.

Propriedades

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 do 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 nenhuma versão. Você só deve usá-lo diretamente em seu código com extrema cautela e saber que isso pode resultar em falhas de aplicativo ao atualizar para uma nova versão do Entity Framework Core.

(Herdado de IReadOnlyModel)

Métodos

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)

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 o tipo de entidade tiver uma navegação definidora.

FindEntityType(String, String, IEntityType)

Obtém o tipo de entidade para o nome especificado, definindo o nome de navegação e o tipo de entidade definidor. Retornará 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. Retornará 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 de definição.

FindEntityType(Type, String, IEntityType)

Obtém o tipo de entidade para o nome especificado, definindo o nome de navegação e o tipo de entidade definidor. Retornará 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. Retornará null se nenhum tipo de entidade correspondente for encontrado.

(Herdado de IReadOnlyModel)
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 de definição.

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)
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 de 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 fornecido 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. Substitui 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 as versões.

(Herdado de IReadOnlyModel)

Métodos de Extensão

GetDefaultContainer(IModel)

Retorna o nome do contêiner padrão.

GetDefaultContainer(IReadOnlyModel)

Retorna o nome do contêiner padrão.

GetThroughput(IReadOnlyModel)

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

AnnotationsToDebugString(IAnnotatable, Int32)

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

GetAnnotation(IAnnotatable, String)

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

GetRelationalDependencies(IModel, String)

Retorna as dependências de serviço relacional.

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.

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 de definição.

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. Retornará null se nenhum tipo de entidade correspondente 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 de definição.

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.

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.

GetProductVersion(IModel)

Obtém a versão de 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.

HasEntityTypeWithDefiningNavigation(IModel, String)
Obsoleto..

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

HasEntityTypeWithDefiningNavigation(IModel, Type)
Obsoleto..

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

IsIndexerMethod(IModel, MethodInfo)

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

IsShared(IModel, Type)

Obtém se o tipo CLR é usado por entidades de tipo compartilhado no 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 as versões.

Relational(IModel)

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

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.

FindSequence(IModel, String, String)

Localiza uma sequência com o nome fornecido.

FindSequence(IReadOnlyModel, String, String)

Localiza uma sequência com o nome fornecido.

GetCollation(IModel)

Retorna a ordenação do banco de dados.

GetCollation(IReadOnlyModel)

Retorna a ordenação do banco de dados.

GetDbFunctions(IModel)

Retorna todas as funções contidas no modelo.

GetDbFunctions(IReadOnlyModel)

Retorna todas as funções contidas no modelo.

GetDefaultSchema(IModel)

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

GetDefaultSchema(IReadOnlyModel)

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

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.

GetRelationalModel(IModel)

Retorna o modelo de banco de dados.

GetSequences(IModel)

Retorna todas as sequências contidas no modelo.

GetSequences(IReadOnlyModel)

Retorna todas as sequências contidas no modelo.

GetFluentApiCalls(IModel, IAnnotationCodeGenerator)

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

Sqlite(IModel)

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

SqlServer(IModel)

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

GetDatabaseMaxSize(IModel)

Retorna o tamanho máximo do banco de dados.

GetDatabaseMaxSize(IReadOnlyModel)

Retorna o tamanho máximo do banco de dados.

GetHiLoSequenceName(IModel)

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

GetHiLoSequenceName(IReadOnlyModel)

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

GetHiLoSequenceSchema(IModel)

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

GetHiLoSequenceSchema(IReadOnlyModel)

Retorna o esquema a ser usado para a sequência 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.

GetPerformanceLevelSql(IModel)

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

GetPerformanceLevelSql(IReadOnlyModel)

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

GetSequenceNameSuffix(IReadOnlyModel)

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

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.

GetValueGenerationStrategy(IModel)

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

GetValueGenerationStrategy(IReadOnlyModel)

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

Aplica-se a