ComplexTypePrimitiveCollectionBuilder 类

定义

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

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

注解

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

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

构造函数

ComplexTypePrimitiveCollectionBuilder(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

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

扩展方法

GetInfrastructure<T>(IInfrastructure<T>)

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

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

HasColumnName(ComplexTypePrimitiveCollectionBuilder, String)

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

HasColumnOrder(ComplexTypePrimitiveCollectionBuilder, Nullable<Int32>)

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

HasColumnType(ComplexTypePrimitiveCollectionBuilder, String)

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

HasComment(ComplexTypePrimitiveCollectionBuilder, String)

配置要应用于列的注释

HasComputedColumnSql(ComplexTypePrimitiveCollectionBuilder)

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

HasComputedColumnSql(ComplexTypePrimitiveCollectionBuilder, String)

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

HasComputedColumnSql(ComplexTypePrimitiveCollectionBuilder, String, Nullable<Boolean>)

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

HasDefaultValue(ComplexTypePrimitiveCollectionBuilder)

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

HasDefaultValue(ComplexTypePrimitiveCollectionBuilder, Object)

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

HasDefaultValueSql(ComplexTypePrimitiveCollectionBuilder)

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

HasDefaultValueSql(ComplexTypePrimitiveCollectionBuilder, String)

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

HasJsonPropertyName(ComplexTypePrimitiveCollectionBuilder, String)

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

IsFixedLength(ComplexTypePrimitiveCollectionBuilder, Boolean)

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

UseCollation(ComplexTypePrimitiveCollectionBuilder, String)

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

IsSparse(ComplexTypePrimitiveCollectionBuilder, Boolean)

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

适用于