IConventionPropertyBuilder 接口

定义

提供一个简单的 API 图面,用于从约定配置 IConventionProperty

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

public interface IConventionPropertyBuilder : Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionAnnotatableBuilder
public interface IConventionPropertyBuilder : Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionPropertyBaseBuilder
public interface IConventionPropertyBuilder : Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionPropertyBaseBuilder<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionPropertyBuilder>
type IConventionPropertyBuilder = interface
    interface IConventionAnnotatableBuilder
type IConventionPropertyBuilder = interface
    interface IConventionPropertyBaseBuilder
    interface IConventionAnnotatableBuilder
type IConventionPropertyBuilder = interface
    interface IConventionPropertyBaseBuilder<IConventionPropertyBuilder>
    interface IConventionAnnotatableBuilder
Public Interface IConventionPropertyBuilder
Implements IConventionAnnotatableBuilder
Public Interface IConventionPropertyBuilder
Implements IConventionPropertyBaseBuilder
Public Interface IConventionPropertyBuilder
Implements IConventionPropertyBaseBuilder(Of IConventionPropertyBuilder)
实现

注解

有关详细信息和示例,请参阅 模型生成约定

属性

Metadata

获取要配置的属性。

ModelBuilder

获取模型生成器。

(继承自 IConventionAnnotatableBuilder)

方法

AfterSave(Nullable<PropertySaveBehavior>, Boolean)

配置在实体保存到数据库后是否可以修改此属性。

BeforeSave(Nullable<PropertySaveBehavior>, Boolean)

配置是否可以在实体保存到数据库之前修改此属性。

CanRemoveAnnotation(String, Boolean)

返回一个值,该值指示是否可以使用此配置源删除具有给定名称的注释。

(继承自 IConventionAnnotatableBuilder)
CanSetAfterSave(Nullable<PropertySaveBehavior>, Boolean)

返回一个值,该值指示是否可以从当前配置源为此属性配置实体保存到数据库后进行修改的功能。

CanSetAnnotation(String, Object, Boolean)

返回一个值,该值指示是否可以从此配置源设置具有给定名称和值的批注。

(继承自 IConventionAnnotatableBuilder)
CanSetBeforeSave(Nullable<PropertySaveBehavior>, Boolean)

返回一个值,该值指示是否可以从当前配置源为此属性配置在实体保存到数据库之前进行修改的功能。

CanSetConversion(Type, Boolean)

返回一个值,该值指示是否可以为当前配置源中的此属性配置要向和从中转换值的给定类型。

CanSetConversion(ValueConverter, Boolean)

返回一个值,该值指示是否可以 ValueConverter 从当前配置源为此属性配置 。

CanSetConverter(Type, Boolean)

返回一个值,该值指示是否可以 ValueConverter 从当前配置源为此属性配置 。

CanSetElementType(Type, Boolean)

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

CanSetField(FieldInfo, Boolean)

返回一个值,该值指示是否可以从当前配置源为此属性设置支持字段。

CanSetField(String, Boolean)

返回一个值,该值指示是否可以从当前配置源为此属性设置支持字段。

CanSetIsConcurrencyToken(Nullable<Boolean>, Boolean)

返回一个值,该值指示是否可以将属性配置为当前配置源中的并发令牌。

CanSetIsRequired(Nullable<Boolean>, Boolean)

返回一个值,该值指示是否可以从当前配置源配置此属性必需性。

CanSetIsUnicode(Nullable<Boolean>, Boolean)

返回一个值,该值指示属性是否可以配置为能够持久保存当前配置源中的 unicode 字符。

CanSetKeyValueComparer(ValueComparer, Boolean)
已过时。

返回一个值,该值指示是否可以从当前配置源为此属性配置给定 ValueComparer

CanSetMaxLength(Nullable<Int32>, Boolean)

返回一个值,该值指示是否可以从当前配置源为此属性设置允许的最大数据长度。

CanSetPrecision(Nullable<Int32>, Boolean)

返回一个值,该值指示是否可以从当前配置源为此属性设置允许的数据精度。

CanSetPropertyAccessMode(Nullable<PropertyAccessMode>, Boolean)

返回一个值,该值指示是否可以 PropertyAccessMode 从当前配置源为此属性设置 。

CanSetProviderValueComparer(Type, Boolean)

返回一个值,该值指示是否可以从当前配置源为此属性配置给定 ValueComparer

CanSetProviderValueComparer(ValueComparer, Boolean)

返回一个值,该值指示是否可以从当前配置源为此属性配置给定 ValueComparer

CanSetScale(Nullable<Int32>, Boolean)

返回一个值,该值指示是否可以从当前配置源为此属性设置允许的数据规模。

CanSetSentinel(Object, Boolean)

返回一个值,该值指示是否可以从当前配置源为此属性设置 sentinel。

CanSetStructuralValueComparer(ValueComparer, Boolean)
已过时。

返回一个值,该值指示是否可以从当前配置源为此属性配置给定 ValueComparer

CanSetTypeMapping(CoreTypeMapping, Boolean)

返回一个值,该值指示是否可以从当前配置源为此属性配置给定 CoreTypeMapping

CanSetValueComparer(Type, Boolean)

返回一个值,该值指示是否可以从当前配置源为此属性配置给定 ValueComparer

CanSetValueComparer(ValueComparer, Boolean)

返回一个值,该值指示是否可以从当前配置源为此属性配置给定 ValueComparer

CanSetValueGenerated(Nullable<ValueGenerated>, Boolean)

返回一个值,该值指示是否可以从当前配置源配置属性值生成。

CanSetValueGenerator(Func<IProperty,IEntityType,ValueGenerator>, Boolean)

返回一个值,该值指示是否可以 ValueGenerator 从当前配置源为此属性配置 。

CanSetValueGenerator(Func<IProperty,ITypeBase,ValueGenerator>, Boolean)

返回一个值,该值指示是否可以 ValueGenerator 从当前配置源为此属性配置 。

CanSetValueGeneratorFactory(Type, Boolean)

返回一个值,该值指示是否可以 ValueGeneratorFactory 从当前配置源为此属性配置 。

HasAnnotation(String, Object, Boolean)

设置存储在给定名称下的批注。 如果具有指定名称的批注已存在相同或更低的 ConfigurationSource,则覆盖现有批注。

(继承自 IConventionPropertyBaseBuilder<TBuilder>)
HasConversion(Type, Boolean)

配置 属性,以便在写入数据库之前将属性值转换为给定类型,并在从数据库读取时转换回 。

HasConversion(ValueConverter, Boolean)

配置 属性,以便使用给定 ValueConverter的 将属性值与数据库进行转换和转换。

HasConverter(Type, Boolean)

配置 属性,以便使用给定 ValueConverter的 将属性值与数据库进行转换和转换。

HasField(FieldInfo, Boolean)

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

HasField(String, Boolean)

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

HasKeyValueComparer(ValueComparer, Boolean)
已过时。

ValueComparer 配置为用于此属性的键比较。

HasMaxLength(Nullable<Int32>, Boolean)

配置可在此属性中存储的最大数据长度。

HasNoAnnotation(String, Boolean)

从此对象中删除具有给定名称的批注。

(继承自 IConventionPropertyBaseBuilder<TBuilder>)
HasNonNullAnnotation(String, Object, Boolean)

设置存储在给定名称下的批注。 如果具有指定名称的批注已存在相同或更低的 ConfigurationSource,则覆盖现有批注。 如果 null 指定了值,则删除批注。

(继承自 IConventionPropertyBaseBuilder<TBuilder>)
HasPrecision(Nullable<Int32>, Boolean)

配置属性的精度。

HasProviderValueComparer(Type, Boolean)

ValueComparer 配置为用于此属性的提供程序值。

HasProviderValueComparer(ValueComparer, Boolean)

ValueComparer 配置为用于此属性的提供程序值。

HasScale(Nullable<Int32>, Boolean)

配置 属性的缩放比例。

HasSentinel(Object, Boolean)

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

HasStructuralValueComparer(ValueComparer, Boolean)
已过时。

ValueComparer 配置为用于此属性的结构比较。

HasTypeMapping(CoreTypeMapping, Boolean)

CoreTypeMapping为此属性配置 。

HasValueComparer(Type, Boolean)

ValueComparer为此属性配置 。

HasValueComparer(ValueComparer, Boolean)

ValueComparer为此属性配置 。

HasValueGenerator(Func<IProperty,IEntityType,ValueGenerator>, Boolean)

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

HasValueGenerator(Func<IProperty,ITypeBase,ValueGenerator>, Boolean)

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

HasValueGenerator(Type, Boolean)

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

HasValueGeneratorFactory(Type, Boolean)

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

IsConcurrencyToken(Nullable<Boolean>, Boolean)

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

IsRequired(Nullable<Boolean>, Boolean)

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

IsUnicode(Nullable<Boolean>, Boolean)

将 属性配置为能够持久保存 unicode 字符。

RemoveAnnotation(String, Boolean)
已过时。

从此对象中删除具有给定名称的批注。

(继承自 IConventionAnnotatableBuilder)
SetElementType(Type, Boolean)

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

SetOrRemoveAnnotation(String, Object, Boolean)
已过时。

设置或删除给定名称下存储的批注。

(继承自 IConventionAnnotatableBuilder)
UsePropertyAccessMode(Nullable<PropertyAccessMode>, Boolean)

PropertyAccessMode设置要用于此属性的 。

ValueGenerated(Nullable<ValueGenerated>, Boolean)

设置一个值,该值指示数据库何时生成此属性的值。 即使属性设置为由数据库生成,EF 仍可能尝试 (保存特定值,而不是在添加实体并分配值或将属性标记为已修改现有实体时,数据库) 生成一个值。 有关详细信息和GetAfterSaveBehavior()示例,请参阅 GetBeforeSaveBehavior() 和 。

扩展方法

CanSetJsonProperty(IConventionPropertyBuilder, String, Boolean)

返回一个值,该值指示是否可以设置给定的属性名称。

ToJsonProperty(IConventionPropertyBuilder, String, Boolean)

配置属性在面向 Azure Cosmos 时映射到的属性名称。 如果提供了空字符串,则不会保留该属性。

CanSetCollation(IConventionPropertyBuilder, String, Boolean)

返回一个值,该值指示是否可以将给定值设置为排序规则。

CanSetColumnName(IConventionPropertyBuilder, String, StoreObjectIdentifier, Boolean)

返回一个值,该值指示是否可以为 属性设置特定表类似存储对象的给定列。

CanSetColumnName(IConventionPropertyBuilder, String, Boolean)

返回一个值,该值指示是否可以为 属性设置给定列。

CanSetColumnOrder(IConventionPropertyBuilder, Nullable<Int32>, Boolean)

获取一个值,该值指示是否可以为 属性设置给定的列顺序。

CanSetColumnType(IConventionPropertyBuilder, String, Boolean)

返回一个值,该值指示是否可以为 属性设置给定的数据类型。

CanSetComment(IConventionPropertyBuilder, Object, Boolean)

返回一个值,该值指示是否可以将给定值设置为列的注释。

CanSetComment(IConventionPropertyBuilder, String, Boolean)

返回一个值,该值指示是否可以将给定值设置为列的注释。

CanSetComputedColumnSql(IConventionPropertyBuilder, String, Boolean)

返回一个值,该值指示是否可以为列设置给定的计算值 SQL 表达式。

CanSetDefaultValue(IConventionPropertyBuilder, Object, Boolean)

返回一个值,该值指示是否可以将给定值设置为列的默认值。

CanSetDefaultValueSql(IConventionPropertyBuilder, String, Boolean)

返回一个值,该值指示是否可以为列设置给定的默认值表达式。

CanSetIsFixedLength(IConventionPropertyBuilder, Nullable<Boolean>, Boolean)

返回一个值,该值指示属性是否可以配置为固定长度。

CanSetIsStoredComputedColumn(IConventionPropertyBuilder, Nullable<Boolean>, Boolean)

返回一个值,该值指示是否可以为该列设置给定的计算列类型。

CanSetJsonPropertyName(IConventionPropertyBuilder, String, Boolean)

返回一个值,该值指示给定值是否可以用作给定实体属性的 JSON 属性名称。

HasColumnName(IConventionPropertyBuilder, String, StoreObjectIdentifier, Boolean)

配置属性映射到特定类似表的存储对象中的列。

HasColumnName(IConventionPropertyBuilder, String, Boolean)

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

HasColumnOrder(IConventionPropertyBuilder, Nullable<Int32>, Boolean)

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

HasColumnType(IConventionPropertyBuilder, String, Boolean)

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

HasComment(IConventionPropertyBuilder, String, Boolean)

配置要应用于列的注释

HasComputedColumnSql(IConventionPropertyBuilder, String, Boolean)

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

HasDefaultValue(IConventionPropertyBuilder, Object, Boolean)

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

HasDefaultValueSql(IConventionPropertyBuilder, String, Boolean)

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

HasJsonPropertyName(IConventionPropertyBuilder, String, Boolean)

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

IsFixedLength(IConventionPropertyBuilder, Nullable<Boolean>, Boolean)

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

IsStoredComputedColumn(IConventionPropertyBuilder, Nullable<Boolean>, Boolean)

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

UseCollation(IConventionPropertyBuilder, String, Boolean)

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

CanSetGeometricDimension(IConventionPropertyBuilder, String, Boolean)

返回一个值,该值指示是否可以将给定值设置为列的维度。

CanSetSrid(IConventionPropertyBuilder, Nullable<Int32>, Boolean)

返回一个值,该值指示是否可以将给定值设置为列的 SRID。

ForSqliteHasDimension(IConventionPropertyBuilder, String, Boolean)
已过时。

配置属性在面向 SQLite 时映射到的列的维度。

ForSqliteHasSrid(IConventionPropertyBuilder, Nullable<Int32>, Boolean)
已过时。

配置属性在面向 SQLite 时映射到的列的 SRID。

HasGeometricDimension(IConventionPropertyBuilder, String, Boolean)

配置属性在面向 SQLite 时映射到的列的维度。

HasSrid(IConventionPropertyBuilder, Nullable<Int32>, Boolean)

配置属性在面向 SQLite 时映射到的列的 SRID。

CanSetHiLoSequence(IConventionPropertyBuilder, String, String, Boolean)

返回一个值,该值指示是否可以为 hi-lo 序列设置给定的名称和架构。

CanSetIdentityColumnIncrement(IConventionPropertyBuilder, Nullable<Int32>, StoreObjectIdentifier, Boolean)

返回一个值,该值指示是否可以将给定值设置为特定表SQL Server IDENTITY 的增量。

CanSetIdentityColumnIncrement(IConventionPropertyBuilder, Nullable<Int32>, Boolean)

返回一个值,该值指示是否可以将给定值设置为SQL Server IDENTITY 的增量。

CanSetIdentityColumnSeed(IConventionPropertyBuilder, Nullable<Int32>, Boolean)

返回一个值,该值指示是否可以将给定值设置为 SQL Server IDENTITY 的种子。

CanSetIdentityColumnSeed(IConventionPropertyBuilder, Nullable<Int64>, StoreObjectIdentifier, Boolean)

返回一个值,该值指示是否可以将给定值设置为特定表SQL Server IDENTITY 的种子。

CanSetIdentityColumnSeed(IConventionPropertyBuilder, Nullable<Int64>, Boolean)

返回一个值,该值指示是否可以将给定值设置为 SQL Server IDENTITY 的种子。

CanSetIsSparse(IConventionPropertyBuilder, Nullable<Boolean>, Boolean)

返回一个值,该值指示在面向SQL Server时,属性的列是否可以配置为稀疏。

CanSetSequence(IConventionPropertyBuilder, String, String, Boolean)

返回一个值,该值指示是否可以为键值生成序列设置给定名称和架构。

CanSetValueGenerationStrategy(IConventionPropertyBuilder, Nullable<SqlServerValueGenerationStrategy>, StoreObjectIdentifier, Boolean)

返回一个值,该值指示是否可以将给定值设置为特定表的值生成策略。

CanSetValueGenerationStrategy(IConventionPropertyBuilder, Nullable<SqlServerValueGenerationStrategy>, Boolean)

返回一个值,该值指示是否可以将给定值设置为值生成策略。

ForSqlServerHasHiLoSequence(IConventionPropertyBuilder, String, String, Boolean)
已过时。

将用于 hi-lo 模式的数据库序列配置为在面向SQL Server时为键属性生成值。

ForSqlServerHasIdentityIncrement(IConventionPropertyBuilder, Nullable<Int32>, Boolean)
已过时。

配置 SQL Server IDENTITY 的增量。

ForSqlServerHasIdentitySeed(IConventionPropertyBuilder, Nullable<Int32>, Boolean)
已过时。

配置 SQL Server IDENTITY 的种子。

ForSqlServerHasValueGenerationStrategy(IConventionPropertyBuilder, Nullable<SqlServerValueGenerationStrategy>, Boolean)
已过时。

针对SQL Server时,为键属性配置值生成策略。

HasHiLoSequence(IConventionPropertyBuilder, String, String, Boolean)

将用于 hi-lo 模式的数据库序列配置为在面向SQL Server时为键属性生成值。

HasIdentityColumnIncrement(IConventionPropertyBuilder, Nullable<Int32>, StoreObjectIdentifier, Boolean)

为特定表配置 SQL Server IDENTITY 的增量。

HasIdentityColumnIncrement(IConventionPropertyBuilder, Nullable<Int32>, Boolean)

配置 SQL Server IDENTITY 的增量。

HasIdentityColumnSeed(IConventionPropertyBuilder, Nullable<Int32>, Boolean)

配置 SQL Server IDENTITY 的种子。

HasIdentityColumnSeed(IConventionPropertyBuilder, Nullable<Int64>, StoreObjectIdentifier, Boolean)

为特定表配置 SQL Server IDENTITY 的种子。

HasIdentityColumnSeed(IConventionPropertyBuilder, Nullable<Int64>, Boolean)

配置 SQL Server IDENTITY 的种子。

HasSequence(IConventionPropertyBuilder, String, String, Boolean)

将用于键值生成模式的数据库序列配置为在面向SQL Server时生成键属性的值。

HasValueGenerationStrategy(IConventionPropertyBuilder, Nullable<SqlServerValueGenerationStrategy>, StoreObjectIdentifier, Boolean)

针对特定表的SQL Server时,为键属性配置值生成策略。

HasValueGenerationStrategy(IConventionPropertyBuilder, Nullable<SqlServerValueGenerationStrategy>, Boolean)

针对SQL Server时,为键属性配置值生成策略。

IsSparse(IConventionPropertyBuilder, Nullable<Boolean>, Boolean)

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

适用于