PrimitiveCollectionBuilder 類別

定義

提供簡單的 API 來設定 IMutableProperty

public class PrimitiveCollectionBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionPropertyBuilder>
type PrimitiveCollectionBuilder = class
    interface IInfrastructure<IConventionPropertyBuilder>
Public Class PrimitiveCollectionBuilder
Implements IInfrastructure(Of IConventionPropertyBuilder)
繼承
PrimitiveCollectionBuilder
衍生
實作

備註

使用 ModelBuilder API 時,這個類別的實例會從方法傳回,而且它不是設計成直接在應用程式程式碼中建構。

如需詳細資訊和範例,請參閱 模型化實體類型和關聯 性。

建構函式

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

用來設定 屬性的內部產生器。

擴充方法

ToJsonProperty(PrimitiveCollectionBuilder, String)

設定以 Azure Cosmos 為目標時,屬性所對應的屬性名稱。

GetInfrastructure<T>(IInfrastructure<T>)

從使用 IInfrastructure<T> 隱藏的屬性取得值。

這個方法通常由資料庫提供者使用, (和其他延伸模組) 。 它通常不會用於應用程式程式碼中。

HasColumnName(PrimitiveCollectionBuilder, String)

設定當以關係資料庫為目標時,屬性所對應的資料行。

HasColumnOrder(PrimitiveCollectionBuilder, Nullable<Int32>)

設定屬性所對應之資料行的順序。

HasColumnType(PrimitiveCollectionBuilder, String)

設定以關係資料庫為目標時,屬性所對應之資料行的資料類型。 這應該是完整的類型名稱,包括精確度、小數位數、長度等。

HasComment(PrimitiveCollectionBuilder, String)

設定要套用至資料行的批註

HasComputedColumnSql(PrimitiveCollectionBuilder)

設定屬性,以關係資料庫為目標時對應至計算資料行。

HasComputedColumnSql(PrimitiveCollectionBuilder, String)

設定屬性,以關係資料庫為目標時對應至計算資料行。

HasComputedColumnSql(PrimitiveCollectionBuilder, String, Nullable<Boolean>)

設定屬性,以關係資料庫為目標時對應至計算資料行。

HasDefaultValue(PrimitiveCollectionBuilder)

設定以關係資料庫為目標時,屬性所對應之資料行的預設值。

HasDefaultValue(PrimitiveCollectionBuilder, Object)

設定以關係資料庫為目標時,屬性所對應之資料行的預設值。

HasDefaultValueSql(PrimitiveCollectionBuilder)

設定以關係資料庫為目標時,屬性所對應之資料行的預設值運算式。

HasDefaultValueSql(PrimitiveCollectionBuilder, String)

設定以關係資料庫為目標時,屬性所對應之資料行的預設值運算式。

HasJsonPropertyName(PrimitiveCollectionBuilder, String)

設定對應至 JSON 資料行之實體的屬性、將實體屬性對應至特定 JSON 屬性,而不是使用實體屬性名稱。

IsFixedLength(PrimitiveCollectionBuilder, Boolean)

將 屬性設定為只能儲存固定長度的資料,例如字串。

UseCollation(PrimitiveCollectionBuilder, String)

設定 屬性以使用指定的定序。 資料庫資料行將會使用指定的定序來建立,而且會隱含地用於所有區分定序的作業中。

IsSparse(PrimitiveCollectionBuilder, Boolean)

設定以SQL Server為目標時,屬性的資料行是否建立為疏鬆。

適用於