ComplexTypePrimitiveCollectionBuilder 類別

定義

提供簡單的 API 來設定 IMutableProperty

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
衍生
實作

備註

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

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

建構函式

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

適用於