Compartilhar via


ModelSource Classe

Definição

Uma implementação de IModelSource que produz um modelo com base nas DbSet<TEntity> propriedades expostas no contexto. O modelo é armazenado em cache para evitar recriá-lo sempre que solicitado.

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

public abstract class ModelSource : Microsoft.EntityFrameworkCore.Infrastructure.IModelSource
public class ModelSource : Microsoft.EntityFrameworkCore.Infrastructure.IModelSource
type ModelSource = class
    interface IModelSource
Public MustInherit Class ModelSource
Implements IModelSource
Public Class ModelSource
Implements IModelSource
Herança
ModelSource
Implementações

Comentários

O tempo de vida do serviço é Singleton. Isso significa que uma única instância é usada por muitas DbContext instâncias. A implementação deve ser thread-safe. Esse serviço não pode depender dos serviços registrados como Scoped.

Consulte Implementação de provedores de banco de dados e extensões para obter mais informações e exemplos.

Construtores

ModelSource(IDbSetFinder, ICoreConventionSetBuilder, IModelCustomizer, IModelCacheKeyFactory)

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.

ModelSource(ModelSourceDependencies)

Cria uma nova instância ModelSource.

Propriedades

CoreConventionSetBuilder

Obtém o Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ICoreConventionSetBuilder que criará as convenções a serem usadas para criar o modelo.

Dependencies

Dependências para esse serviço.

ModelCacheKeyFactory

Obtém o IModelCacheKeyFactory que criará chaves usadas para armazenar e pesquisar modelos do cache de modelos.

ModelCustomizer

Obtém o IModelCustomizer que executará a configuração adicional do modelo, além do que é descoberto por convenção.

SetFinder

Obtém o Microsoft.EntityFrameworkCore.Internal.IDbSetFinder que localizará as DbSet<TEntity> propriedades no contexto derivado.

Métodos

CreateConventionSet(IConventionSetBuilder)

Cria o conjunto de convenções a ser usado para o modelo. Usa apenas o Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.CoreConventionSetBuilder se conventionSetBuilder for nulo.

CreateModel(DbContext, IConventionSetBuilder, IModelValidator)

Cria o modelo. Esse método é chamado quando o modelo não foi encontrado no cache.

CreateModel(DbContext, IConventionSetBuilder, IModelValidator)

Cria o modelo. Esse método é chamado quando o modelo não foi encontrado no cache.

CreateModel(DbContext, IConventionSetBuilder, ModelDependencies)

Cria o modelo. Esse método é chamado quando o modelo não foi encontrado no cache.

CreateModel(DbContext, IConventionSetBuilder)
Obsoleto.
Obsoleto.

Cria o modelo. Esse método é chamado quando o modelo não foi encontrado no cache.

FindSets(ModelBuilder, DbContext)

Adiciona os tipos de entidade encontrados em DbSet<TEntity> propriedades no contexto ao modelo.

GetModel(DbContext, IConventionSetBuilder, IModelValidator)

Retorna o modelo do cache ou cria um modelo se ele não estiver presente no cache.

GetModel(DbContext, IConventionSetBuilder, IModelValidator)

Retorna o modelo do cache ou cria um modelo se ele não estiver presente no cache.

GetModel(DbContext, IConventionSetBuilder, ModelDependencies)
Obsoleto.

Retorna o modelo do cache ou cria um modelo se ele não estiver presente no cache.

GetModel(DbContext, IConventionSetBuilder)
Obsoleto.
Obsoleto.

Retorna o modelo do cache ou cria um modelo se ele não estiver presente no cache.

GetModel(DbContext, ModelCreationDependencies, Boolean)

Obtém o modelo a ser usado.

Aplica-se a