ModelSource 类

定义

IModelSource 实现基于上下文中 DbSet<TEntity> 公开的属性生成模型。 缓存模型以避免每次请求时重新创建它。

此类型通常由数据库提供程序 (和其他扩展) 使用。 它通常不在应用程序代码中使用。

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
继承
ModelSource
实现

注解

服务生存期为 Singleton。 这意味着多个实例使用 DbContext 单个实例。 实现必须是线程安全的。 此服务不能依赖于注册为 的服务 Scoped

有关详细信息 和示例,请参阅数据库提供程序和扩展的实现

构造函数

ModelSource(IDbSetFinder, ICoreConventionSetBuilder, IModelCustomizer, IModelCacheKeyFactory)

此 API 支持 Entity Framework Core 基础结构,不应直接从代码使用。 将来的版本中可能会更改或删除此 API。

ModelSource(ModelSourceDependencies)

创建一个新的 ModelSource 实例。

属性

CoreConventionSetBuilder

获取将 Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.ICoreConventionSetBuilder 生成用于生成模型的约定的 。

Dependencies

此服务的依赖项。

ModelCacheKeyFactory

获取 , IModelCacheKeyFactory 它将创建用于存储和查找模型缓存的密钥。

ModelCustomizer

获取除 IModelCustomizer 按约定发现的内容外,还将执行模型的其他配置。

SetFinder

获取将在 Microsoft.EntityFrameworkCore.Internal.IDbSetFinder 派生上下文中 DbSet<TEntity> 查找属性的 。

方法

CreateConventionSet(IConventionSetBuilder)

创建要用于模型的约定集。 仅当 为 null 时conventionSetBuilder使用 Microsoft.EntityFrameworkCore.Metadata.Conventions.Internal.CoreConventionSetBuilder

CreateModel(DbContext, IConventionSetBuilder, IModelValidator)

创建模型。 在缓存中找不到模型时,将调用此方法。

CreateModel(DbContext, IConventionSetBuilder, IModelValidator)

创建模型。 在缓存中找不到模型时,将调用此方法。

CreateModel(DbContext, IConventionSetBuilder, ModelDependencies)

创建模型。 在缓存中找不到模型时,将调用此方法。

CreateModel(DbContext, IConventionSetBuilder)
已过时.
已过时.

创建模型。 在缓存中找不到模型时,将调用此方法。

FindSets(ModelBuilder, DbContext)

将上下文中的属性中找到 DbSet<TEntity> 的实体类型添加到模型。

GetModel(DbContext, IConventionSetBuilder, IModelValidator)

从缓存中返回模型,如果缓存中不存在模型,则创建模型。

GetModel(DbContext, IConventionSetBuilder, IModelValidator)

从缓存中返回模型,如果缓存中不存在模型,则创建模型。

GetModel(DbContext, IConventionSetBuilder, ModelDependencies)
已过时.

从缓存中返回模型,如果缓存中不存在模型,则创建模型。

GetModel(DbContext, IConventionSetBuilder)
已过时.
已过时.

从缓存中返回模型,如果缓存中不存在模型,则创建模型。

GetModel(DbContext, ModelCreationDependencies, Boolean)

获取要使用的模型。

适用于