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 仍可能會嘗試儲存特定值 (,而不是在新增實體並指派值時,讓資料庫產生) ,或是將屬性標示為已修改現有實體。 如需詳細資訊和範例,請參閱 GetBeforeSaveBehavior()GetAfterSaveBehavior()

擴充方法

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為目標時,屬性的資料行是否建立為疏鬆。

適用於