语言

IReadOnlyModel 接口

定义

有关实体形状、实体之间的关系以及实体映射到数据库的方式的元数据。 模型通常通过重写 OnModelCreating(ModelBuilder) 派生 DbContext的方法来创建。

public interface IReadOnlyModel : Microsoft.EntityFrameworkCore.Infrastructure.IReadOnlyAnnotatable
type IReadOnlyModel = interface
    interface IReadOnlyAnnotatable
Public Interface IReadOnlyModel
Implements IReadOnlyAnnotatable
派生
实现

注解

有关详细信息和示例,请参阅 建模实体类型和关系 。

属性

名称 说明
Item[String]

获取具有给定名称的批注的值,如果不存在,则 null 返回该值。

(继承自 IReadOnlyAnnotatable)
ModelId

这是一个内部 API,支持Entity Framework Core基础结构,不受与公共 API 相同的兼容性标准的约束。 可以在任何版本中更改或删除它,而不通知。 只需在代码中直接使用它,并非常谨慎地知道这样做可能会导致应用程序在更新到新的Entity Framework Core版本时失败。

方法

名称 说明
AnnotationsToDebugString(Int32)

获取针对对象上声明的所有批注的调试字符串。

(继承自 IReadOnlyAnnotatable)
FindAnnotation(String)

获取具有给定名称的批注,如果不存在,则 null 返回。

(继承自 IReadOnlyAnnotatable)
FindEntityType(String, String, IReadOnlyEntityType)

获取给定基名称、定义导航名称和定义实体类型的实体类型。 如果未找到匹配的实体类型,则返回 null 。

FindEntityType(String)

获取具有给定名称的实体类型。 如果 null 找不到具有给定名称的实体类型,或者共享类型实体类型或实体类型具有定义导航,则返回给定 CLR 类型。

FindEntityType(Type, String, IReadOnlyEntityType)

获取给定类型的实体类型,定义导航名称和定义实体类型。 如果未找到匹配的实体类型,则返回 null 。

FindEntityType(Type)

获取映射给定实体类的实体。 如果 null 找不到具有给定 CLR 类型的实体类型,或者共享类型实体类型或实体类型具有定义导航,则返回给定 CLR 类型。

FindEntityTypes(Type)

获取与给定类型匹配的实体类型。

FindLeastDerivedEntityTypes(Type, Func<IReadOnlyEntityType,Boolean>)

返回对应于给定中最小派生类型的实体类型。

GetAnnotation(String)

获取具有给定名称的批注,如果不存在,则引发该批注。

(继承自 IReadOnlyAnnotatable)
GetAnnotations()

获取当前对象上的所有批注。

(继承自 IReadOnlyAnnotatable)
GetChangeTrackingStrategy()

获取用于模型中实体的默认更改跟踪策略。 此策略指示上下文如何检测实体类型的实例的属性更改。

GetEmbeddedDiscriminatorName()

获取用于 JSON 文档中嵌入的歧视性属性的名称。 默认值为“$type”。

GetEntityTypes()

获取模型中定义的所有实体类型。

GetProductVersion()

获取用于生成此模型的 EF Core 程序集版本。

GetPropertyAccessMode()

PropertyAccessMode获取用于此模型中实体类型的属性。

IsShared(Type)

获取一个值,该值指示是否由模型中的共享类型实体使用 CLR 类型。

ToDebugString(MetadataDebugStringOptions, Int32)

创建给定元数据的可读表示形式。

警告:不要依赖于返回的字符串的格式。 它仅用于调试,可以在版本之间任意更改。

扩展方法

名称 说明
AreNamedDefaultConstraintsUsed(IReadOnlyModel)

返回一个值,该值指示是否应使用命名的默认约束。

FindDbFunction(IReadOnlyModel, MethodInfo)

查找映射到由给定 MethodInfo表示的方法的函数。

FindDbFunction(IReadOnlyModel, String)

查找映射到由给定名称表示的方法的函数。

FindFullTextCatalog(IReadOnlyModel, String)

在模型中查找全文目录,如果未找到,则 null 返回。

FindSequence(IReadOnlyModel, String, String)

查找具有给定名称的序列。

GetCollation(IReadOnlyModel)

返回数据库排序规则。

GetDatabaseMaxSize(IReadOnlyModel)

返回数据库的最大大小。

GetDbFunctions(IReadOnlyModel)

返回模型中包含的所有函数。

GetDefaultContainer(IReadOnlyModel)

返回默认容器名称。

GetDefaultFullTextSearchLanguage(IReadOnlyModel)

返回数据库范围内全文搜索的默认语言。

GetDefaultSchema(IReadOnlyModel)

返回要用于模型的默认架构,或者 null 如果未设置任何架构。

GetDiscriminatorInKey(IReadOnlyModel)

返回一个值,该值指示实体类型鉴别器是否应包含在 JSON“id”值中。 在 EF Core 9 之前,始终包含它。 从 EF Core 9 开始,默认情况下不包括它。

GetFullTextCatalogs(IReadOnlyModel)

获取模型中定义的所有全文目录。

GetHasShadowIds(IReadOnlyModel)

返回一个值,该值指示是否可以从当前配置源设置始终创建“__id”属性的设置

GetHiLoSequenceName(IReadOnlyModel)

返回要用于默认 hi-lo 序列的名称。

GetHiLoSequenceSchema(IReadOnlyModel)

返回要用于默认 hi-lo 序列的架构。 UseHiLo(PropertyBuilder, String, String)

GetIdentityIncrement(IReadOnlyModel)

返回默认标识增量。

GetIdentitySeed(IReadOnlyModel)

返回默认标识种子。

GetMaxIdentifierLength(IReadOnlyModel)

返回存储标识符允许的最大长度。

GetPerformanceLevelSql(IReadOnlyModel)

返回数据库的性能级别。

GetSequenceNameSuffix(IReadOnlyModel)

返回要追加到自动创建序列的名称的后缀。

GetSequences(IReadOnlyModel)

返回模型中包含的所有序列。

GetSequenceSchema(IReadOnlyModel)

返回要用于默认值生成序列的架构。 UseSequence(PropertyBuilder, String, String)

GetServiceTierSql(IReadOnlyModel)

返回数据库的服务层。

GetThroughput(IReadOnlyModel)

返回数据库范围内的预配吞吐量。

GetValueGenerationStrategy(IReadOnlyModel)

返回 SqlServerValueGenerationStrategy 要用于模型中键的属性,除非属性具有显式设置的策略。

适用于