PrimitiveCollectionBuilder 类

定义

提供用于配置 的 IMutableProperty简单 API。

public class PrimitiveCollectionBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionPropertyBuilder>
type PrimitiveCollectionBuilder = class
    interface IInfrastructure<IConventionPropertyBuilder>
Public Class PrimitiveCollectionBuilder
Implements IInfrastructure(Of IConventionPropertyBuilder)
继承
PrimitiveCollectionBuilder
派生
实现

注解

此类的实例在使用 API 时从方法中返回, ModelBuilder 它不是在应用程序代码中直接构造的。

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

构造函数

PrimitiveCollectionBuilder(IMutableProperty)

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

属性

Metadata

正在配置的属性。

方法

ElementType()

配置此集合的元素。

ElementType(Action<ElementTypeBuilder>)

配置此集合的元素。

HasAnnotation(String, Object)

在 属性上添加或更新批注。 如果已存在具有中 annotation 指定键的批注,则其值将更新。

HasField(String)

设置要用于此属性的后备字段。

HasMaxLength(Int32)

配置可在此属性中存储的最大数据长度。 只能在数组属性上设置最大长度 (包括 String 属性) 。

HasSentinel(Object)

配置将用于确定是否已设置属性的值。 如果 属性设置为 sentinel 值,则被视为未设置。 默认情况下,sentinel 值是属性类型的 CLR 默认值。

HasValueGenerator(Type)

ValueGenerator配置将为此属性生成值的 。

HasValueGenerator<TGenerator>()

ValueGenerator配置将为此属性生成值的 。

HasValueGeneratorFactory(Type)

配置 ValueGeneratorFactory 用于创建 , ValueGenerator 以用于为此属性生成值。

HasValueGeneratorFactory<TFactory>()

配置 ValueGeneratorFactory 用于创建 , ValueGenerator 以用于为此属性生成值。

IsConcurrencyToken(Boolean)

配置是否应将此属性用作并发令牌。 将属性配置为并发令牌时,将在期间更新或删除 SaveChanges() 此实体类型的实例时检查数据库中的值,以确保自从数据库中检索实例以来,该实例未发生更改。 如果已更改,则会引发异常,并且更改不会应用于数据库。

IsRequired(Boolean)

配置此属性是必须分配 null 值还是有效值。 仅当属性基于可分配 null的 CLR 类型时,才能将其配置为非必需属性。

IsUnicode(Boolean)

将 属性配置为能够持久保存 unicode 字符。 只能在属性上 String 设置。

UsePropertyAccessMode(PropertyAccessMode)

PropertyAccessMode设置要用于此属性的 。

ValueGeneratedNever()

将属性配置为在保存此实体类型的实例时,永远不会有数据库生成的值。

ValueGeneratedOnAdd()

将属性配置为仅在保存新实体时生成值,除非已设置非 null 非临时值,在这种情况下,将改为保存设置值。 值可能由客户端值生成器生成,也可以由数据库作为保存实体的一部分生成。

ValueGeneratedOnAddOrUpdate()

将属性配置为在保存新实体或现有实体时生成值。

ValueGeneratedOnUpdate()

将属性配置为在保存现有实体时生成值。

ValueGeneratedOnUpdateSometimes()

将属性配置为在保存现有实体时在特定条件下生成值。

显式接口实现

IInfrastructure<IConventionPropertyBuilder>.Instance

用于配置 属性的内部生成器。

扩展方法

ToJsonProperty(PrimitiveCollectionBuilder, String)

配置属性在面向 Azure Cosmos 时映射到的属性名称。

GetInfrastructure<T>(IInfrastructure<T>)

从使用 IInfrastructure<T>隐藏的属性获取值。

此方法通常由数据库提供程序 (和其他扩展) 使用。 它通常不用于应用程序代码。

HasColumnName(PrimitiveCollectionBuilder, String)

配置属性在面向关系数据库时映射到的列。

HasColumnOrder(PrimitiveCollectionBuilder, Nullable<Int32>)

配置属性映射到的列的顺序。

HasColumnType(PrimitiveCollectionBuilder, String)

配置属性在面向关系数据库时映射到的列的数据类型。 这应该是完整的类型名称,包括精度、刻度、长度等。

HasComment(PrimitiveCollectionBuilder, String)

配置要应用于列的注释

HasComputedColumnSql(PrimitiveCollectionBuilder)

将 属性配置为在面向关系数据库时映射到计算列。

HasComputedColumnSql(PrimitiveCollectionBuilder, String)

将 属性配置为在面向关系数据库时映射到计算列。

HasComputedColumnSql(PrimitiveCollectionBuilder, String, Nullable<Boolean>)

将 属性配置为在面向关系数据库时映射到计算列。

HasDefaultValue(PrimitiveCollectionBuilder)

配置属性在面向关系数据库时映射到的列的默认值。

HasDefaultValue(PrimitiveCollectionBuilder, Object)

配置属性在面向关系数据库时映射到的列的默认值。

HasDefaultValueSql(PrimitiveCollectionBuilder)

为属性在面向关系数据库时映射到的列配置默认值表达式。

HasDefaultValueSql(PrimitiveCollectionBuilder, String)

为属性在面向关系数据库时映射到的列配置默认值表达式。

HasJsonPropertyName(PrimitiveCollectionBuilder, String)

配置映射到 JSON 列的实体的属性,将实体属性映射到特定的 JSON 属性,而不是使用实体属性名称。

IsFixedLength(PrimitiveCollectionBuilder, Boolean)

将 属性配置为能够仅存储固定长度的数据,例如字符串。

UseCollation(PrimitiveCollectionBuilder, String)

将 属性配置为使用给定排序规则。 将使用给定排序规则创建数据库列,并且将在所有区分排序规则的操作中隐式使用数据库列。

IsSparse(PrimitiveCollectionBuilder, Boolean)

配置在面向SQL Server时是否以稀疏的形式创建属性的列。

适用于