Partilhar via


RuntimeModel Classe

Definição

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

public class RuntimeModel : Microsoft.EntityFrameworkCore.Infrastructure.AnnotatableBase, Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeModel
type RuntimeModel = class
    inherit AnnotatableBase
    interface IRuntimeModel
    interface IModel
    interface IReadOnlyModel
    interface IReadOnlyAnnotatable
    interface IAnnotatable
Public Class RuntimeModel
Inherits AnnotatableBase
Implements IRuntimeModel
Herança
RuntimeModel
Implementações
IAnnotatable IReadOnlyAnnotatable IModel Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeModel IReadOnlyModel

Comentários

Essa é uma implementação leve que é construída a partir de um modelo criado e não deve ser usada em tempo de design.

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 Modelagem de tipos de entidade e relações para obter mais informações e exemplos.

Construtores

RuntimeModel()

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

Propriedades

DebugView

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 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 do Entity Framework Core.

IsReadOnly

Indica se o objeto atual é somente leitura.

(Herdado de AnnotatableBase)
Item[String]

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

(Herdado de AnnotatableBase)
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.

Métodos

AddAnnotation(String, Annotation)

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

(Herdado de AnnotatableBase)
AddAnnotation(String, Object)

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

(Herdado de AnnotatableBase)
AddAnnotations(IEnumerable<IAnnotation>)

Adiciona anotações a esse objeto.

(Herdado de AnnotatableBase)
AddAnnotations(IReadOnlyDictionary<String,Object>)

Adiciona anotações a esse objeto.

(Herdado de AnnotatableBase)
AddEntityType(String, Type, RuntimeEntityType, Boolean, String, ChangeTrackingStrategy, PropertyInfo, Boolean)

Adiciona um tipo de entidade com uma navegação definidora ao modelo.

AddEntityType(String, Type, RuntimeEntityType, Boolean, String, ChangeTrackingStrategy, PropertyInfo, Boolean, Object)

Adiciona um tipo de entidade com uma navegação definidora ao modelo.

AddRuntimeAnnotation(String, Annotation)

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

(Herdado de AnnotatableBase)
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 AnnotatableBase)
AddRuntimeAnnotations(IEnumerable<Annotation>)

Adiciona anotações de runtime a esse objeto.

(Herdado de AnnotatableBase)
AddRuntimeAnnotations(IReadOnlyDictionary<String,Object>)

Adiciona anotações de runtime a esse objeto.

(Herdado de AnnotatableBase)
AddTypeMappingConfiguration(Type, Nullable<Int32>, Nullable<Boolean>, Nullable<Int32>, Nullable<Int32>, Type, ValueConverter)

Adiciona a configuração para um tipo escalar.

CreateAnnotation(String, Object)

Cria uma nova anotação.

(Herdado de AnnotatableBase)
CreateRuntimeAnnotation(String, Object)

Cria uma anotação de runtime.

(Herdado de AnnotatableBase)
EnsureMutable()

Gerará se o modelo for somente leitura.

(Herdado de AnnotatableBase)
EnsureReadOnly()

Gerará se o modelo não for somente leitura.

(Herdado de AnnotatableBase)
FindAdHocEntityType(Type)

Obtém o tipo de entidade com o nome fornecido. Retornará null se nenhum tipo de entidade com o nome fornecido tiver sido mapeado como um tipo ad hoc.

FindAnnotation(String)

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

(Herdado de AnnotatableBase)
FindEntityType(String)

Obtém o tipo de 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 de definição.

FindRuntimeAnnotation(String)

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

(Herdado de AnnotatableBase)
GetAdHocEntityTypes()

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

GetAnnotation(String)

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

(Herdado de AnnotatableBase)
GetAnnotations()

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

(Herdado de AnnotatableBase)
GetOrAddAdHocEntityType(RuntimeEntityType)

Adiciona um tipo de entidade ad hoc ao modelo.

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 AnnotatableBase)
GetRuntimeAnnotations()

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

(Herdado de AnnotatableBase)
OnAnnotationSet(String, Annotation, Annotation)

Chamado quando uma anotação foi definida ou removida.

(Herdado de AnnotatableBase)
RemoveAnnotation(String)

Remove a anotação fornecida desse objeto .

(Herdado de AnnotatableBase)
RemoveRuntimeAnnotation(String)

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

(Herdado de AnnotatableBase)
SetAnnotation(String, Annotation, Annotation)

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

(Herdado de AnnotatableBase)
SetAnnotation(String, Object)

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

(Herdado de AnnotatableBase)
SetRuntimeAnnotation(String, Annotation, Annotation)

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 AnnotatableBase)
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 AnnotatableBase)
SetSkipDetectChanges(Boolean)

Define um valor que indica se DetectChanges() deve ser chamado.

Implantações explícitas de interface

IAnnotatable.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 AnnotatableBase)
IAnnotatable.FindRuntimeAnnotation(String)

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

(Herdado de AnnotatableBase)
IAnnotatable.GetRuntimeAnnotations()

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

(Herdado de AnnotatableBase)
IAnnotatable.RemoveRuntimeAnnotation(String)

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

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

IModel.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. Retornará null se nenhum tipo de entidade correspondente for encontrado.

IModel.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.

IModel.FindEntityTypes(Type)

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

IModel.FindTypeMappingConfiguration(Type)

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

IModel.GetEntityTypes()

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

IModel.GetTypeMappingConfigurations()

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

IModel.IsIndexerMethod(MethodInfo)

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

IReadOnlyAnnotatable.FindAnnotation(String)

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

(Herdado de AnnotatableBase)
IReadOnlyAnnotatable.GetAnnotations()

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

(Herdado de AnnotatableBase)
IReadOnlyAnnotatable.Item[String]

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

(Herdado de AnnotatableBase)
IReadOnlyModel.FindEntityType(String)

Obtém o tipo de 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 de definição.

IReadOnlyModel.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.

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.

IReadOnlyModel.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.

IReadOnlyModel.FindEntityTypes(Type)

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

IReadOnlyModel.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.

IReadOnlyModel.GetEntityTypes()

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

IReadOnlyModel.GetPropertyAccessMode()

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

IReadOnlyModel.IsShared(Type)

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

IReadOnlyModel.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 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 do Entity Framework Core.

IRuntimeModel.RelationalModel

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 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 do Entity Framework Core.

IRuntimeModel.SkipDetectChanges

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

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 .

GetRelationalDependencies(IModel, String)

Retorna as dependências de serviço relacional.

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.

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

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.

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 de banco de dados.

GetCollation(IReadOnlyModel)

Retorna a ordenação de 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 foi definido.

GetDefaultSchema(IReadOnlyModel)

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

GetMaxIdentifierLength(IModel)

Retorna o comprimento máximo permitido para identificadores de loja.

GetMaxIdentifierLength(IReadOnlyModel)

Retorna o comprimento máximo permitido para identificadores de loja.

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.

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