语言

PrimitiveCollectionBuilder 类

定义

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

[System.Runtime.CompilerServices.Nullable(0)]
public class PrimitiveCollectionBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionPropertyBuilder>
[<System.Runtime.CompilerServices.Nullable(0)>]
type PrimitiveCollectionBuilder = class
    interface IInfrastructure<IConventionPropertyBuilder>
Public Class PrimitiveCollectionBuilder
Implements IInfrastructure(Of IConventionPropertyBuilder)
继承
PrimitiveCollectionBuilder
派生
特性
实现

注解

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

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

构造函数

名称 说明
PrimitiveCollectionBuilder(IMutableProperty)

这是一个内部 API,支持Entity Framework Core基础结构,不受与公共 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

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

扩展方法

名称 说明
GetInfrastructure<T>(IInfrastructure<T>)

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

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

HasColumnName(PrimitiveCollectionBuilder, String)

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

HasColumnOrder(PrimitiveCollectionBuilder, Nullable<Int32>)

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

HasColumnType(PrimitiveCollectionBuilder, String)

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

HasComment(PrimitiveCollectionBuilder, String)

配置要应用于列的注释

HasComputedColumnSql(PrimitiveCollectionBuilder, String, Nullable<Boolean>)

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

HasComputedColumnSql(PrimitiveCollectionBuilder, String)

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

HasComputedColumnSql(PrimitiveCollectionBuilder)

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

HasDefaultValue(PrimitiveCollectionBuilder, Object, String)

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

HasDefaultValue(PrimitiveCollectionBuilder, Object)

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

HasDefaultValue(PrimitiveCollectionBuilder)

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

HasDefaultValueSql(PrimitiveCollectionBuilder, String, String)

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

HasDefaultValueSql(PrimitiveCollectionBuilder, String)

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

HasDefaultValueSql(PrimitiveCollectionBuilder)

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

HasJsonPropertyName(PrimitiveCollectionBuilder, String)

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

IsFixedLength(PrimitiveCollectionBuilder, Boolean)

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

IsSparse(PrimitiveCollectionBuilder, Boolean)

配置在以SQL Server为目标时是否将属性的列创建为稀疏。

ToJsonProperty(PrimitiveCollectionBuilder, String)

配置属性在目标Azure Cosmos 时映射到的属性名称。

UseCollation(PrimitiveCollectionBuilder, String)

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

适用于