语言

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)

获取要使用的模型。

适用于