PrimitiveCollectionBuilder<TProperty> 类

定义

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

public class PrimitiveCollectionBuilder<TProperty> : Microsoft.EntityFrameworkCore.Metadata.Builders.PrimitiveCollectionBuilder
type PrimitiveCollectionBuilder<'Property> = class
    inherit PrimitiveCollectionBuilder
Public Class PrimitiveCollectionBuilder(Of TProperty)
Inherits PrimitiveCollectionBuilder

类型参数

TProperty
继承
PrimitiveCollectionBuilder<TProperty>

注解

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

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

构造函数

PrimitiveCollectionBuilder<TProperty>(IMutableProperty)

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

属性

Metadata

正在配置的属性。

(继承自 PrimitiveCollectionBuilder)

方法

ElementType()

配置此集合的元素。

(继承自 PrimitiveCollectionBuilder)
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

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

(继承自 PrimitiveCollectionBuilder)

扩展方法

ToJsonProperty(PrimitiveCollectionBuilder, String)

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

ToJsonProperty<TProperty>(PrimitiveCollectionBuilder<TProperty>, String)

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

GetInfrastructure<T>(IInfrastructure<T>)

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

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

HasColumnName(PrimitiveCollectionBuilder, String)

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

HasColumnName<TProperty>(PrimitiveCollectionBuilder<TProperty>, String)

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

HasColumnOrder(PrimitiveCollectionBuilder, Nullable<Int32>)

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

HasColumnOrder<TProperty>(PrimitiveCollectionBuilder<TProperty>, Nullable<Int32>)

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

HasColumnType(PrimitiveCollectionBuilder, String)

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

HasColumnType<TProperty>(PrimitiveCollectionBuilder<TProperty>, String)

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

HasComment(PrimitiveCollectionBuilder, String)

配置要应用于列的注释

HasComment<TProperty>(PrimitiveCollectionBuilder<TProperty>, String)

配置要应用于列的注释

HasComputedColumnSql(PrimitiveCollectionBuilder)

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

HasComputedColumnSql(PrimitiveCollectionBuilder, String)

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

HasComputedColumnSql(PrimitiveCollectionBuilder, String, Nullable<Boolean>)

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

HasComputedColumnSql<TProperty>(PrimitiveCollectionBuilder<TProperty>)

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

HasComputedColumnSql<TProperty>(PrimitiveCollectionBuilder<TProperty>, String)

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

HasComputedColumnSql<TProperty>(PrimitiveCollectionBuilder<TProperty>, String, Nullable<Boolean>)

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

HasDefaultValue(PrimitiveCollectionBuilder)

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

HasDefaultValue(PrimitiveCollectionBuilder, Object)

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

HasDefaultValue<TProperty>(PrimitiveCollectionBuilder<TProperty>)

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

HasDefaultValue<TProperty>(PrimitiveCollectionBuilder<TProperty>, Object)

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

HasDefaultValueSql(PrimitiveCollectionBuilder)

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

HasDefaultValueSql(PrimitiveCollectionBuilder, String)

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

HasDefaultValueSql<TProperty>(PrimitiveCollectionBuilder<TProperty>)

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

HasDefaultValueSql<TProperty>(PrimitiveCollectionBuilder<TProperty>, String)

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

HasJsonPropertyName(PrimitiveCollectionBuilder, String)

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

HasJsonPropertyName<TProperty>(PrimitiveCollectionBuilder<TProperty>, String)

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

IsFixedLength(PrimitiveCollectionBuilder, Boolean)

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

IsFixedLength<TProperty>(PrimitiveCollectionBuilder<TProperty>, Boolean)

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

UseCollation(PrimitiveCollectionBuilder, String)

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

UseCollation<TProperty>(PrimitiveCollectionBuilder<TProperty>, String)

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

IsSparse(PrimitiveCollectionBuilder, Boolean)

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

IsSparse<TProperty>(PrimitiveCollectionBuilder<TProperty>, Boolean)

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

适用于