ComplexTypePropertyBuilder 類別

定義

提供簡單的 API 來設定 IMutableProperty

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

備註

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

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

建構函式

ComplexTypePropertyBuilder(IMutableProperty)

這是支援 Entity Framework Core 基礎結構的內部 API,不受與公用 API 相同的相容性標準。 它可能會在任何版本中變更或移除,而不需任何通知。 您應該只在程式碼中直接使用它,並特別小心,並知道這麼做可能會導致應用程式在更新至新的 Entity Framework Core 版本時失敗。

屬性

Metadata

正在設定的屬性。

方法

HasAnnotation(String, Object)

在 屬性上加入或更新批註。 如果 中 annotation 指定索引鍵的注釋已經存在,其值將會更新。

HasConversion(Type)

設定 屬性,以便在寫入資料庫之前轉換屬性值,並在從資料庫讀取時轉換回 。

HasConversion(Type, Type)

設定 屬性,以便在寫入資料庫之前轉換屬性值,並在從資料庫讀取時轉換回 。

HasConversion(Type, Type, Type)

設定 屬性,以便在寫入資料庫之前轉換屬性值,並在從資料庫讀取時轉換回 。

HasConversion(Type, ValueComparer)

設定 屬性,以便在寫入資料庫之前轉換屬性值,並在從資料庫讀取時轉換回 。

HasConversion(Type, ValueComparer, ValueComparer)

設定 屬性,以便在寫入資料庫之前轉換屬性值,並在從資料庫讀取時轉換回 。

HasConversion(ValueConverter)

設定 屬性,以便使用指定的 ValueConverter 來回轉換屬性值至資料庫和從資料庫轉換。

HasConversion(ValueConverter, ValueComparer)

設定 屬性,以便使用指定的 ValueConverter 來回轉換屬性值至資料庫和從資料庫轉換。

HasConversion(ValueConverter, ValueComparer, ValueComparer)

設定 屬性,以便使用指定的 ValueConverter 來回轉換屬性值至資料庫和從資料庫轉換。

HasConversion<TConversion,TComparer,TProviderComparer>()

設定 屬性,以便在寫入資料庫之前轉換屬性值,並在從資料庫讀取時轉換回 。

HasConversion<TConversion,TComparer>()

設定 屬性,以便在寫入資料庫之前轉換屬性值,並在從資料庫讀取時轉換回 。

HasConversion<TConversion>()

設定 屬性,以便在寫入資料庫之前轉換屬性值,並在從資料庫讀取時轉換回 。

HasConversion<TConversion>(ValueComparer)

設定 屬性,以便在寫入資料庫之前轉換屬性值,並在從資料庫讀取時轉換回 。

HasConversion<TConversion>(ValueComparer, ValueComparer)

設定 屬性,以便在寫入資料庫之前轉換屬性值,並在從資料庫讀取時轉換回 。

HasField(String)

設定要用於此屬性的備份欄位。

HasMaxLength(Int32)

設定可儲存在此屬性中的資料長度上限。 只能在陣列屬性上設定最大長度, (包括 String 屬性) 。

HasPrecision(Int32)

設定此屬性的有效位數。

HasPrecision(Int32, Int32)

設定此屬性的有效位數和小數位數。

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 類型為基礎時,才能將屬性設定為非必要。

IsRowVersion()

將 屬性設定為 ValueGeneratedOnAddOrUpdate()IsConcurrencyToken(Boolean)

IsUnicode(Boolean)

設定 屬性是否能夠保存 Unicode 字元。 只能在屬性上 String 設定。

UsePropertyAccessMode(PropertyAccessMode)

PropertyAccessMode設定要用於這個屬性的 。

ValueGeneratedNever()

設定屬性在儲存這個複雜型別的實例時,永遠不會有資料庫產生的值。

ValueGeneratedOnAdd()

將屬性設定為只有在儲存新實體時才會產生值,除非已設定非 Null、非暫存值,在此情況下會改為儲存集合值。 此值可由用戶端值產生器產生,或可由資料庫產生作為儲存實體的一部分產生。

ValueGeneratedOnAddOrUpdate()

設定屬性以在儲存新的或現有的實體時產生值。

ValueGeneratedOnUpdate()

設定屬性以在儲存現有實體時產生值。

ValueGeneratedOnUpdateSometimes()

設定屬性以在儲存現有實體時,在特定條件下產生值。

明確介面實作

IInfrastructure<IConventionPropertyBuilder>.Instance

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

擴充方法

GetInfrastructure<T>(IInfrastructure<T>)

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

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

HasColumnName(ComplexTypePropertyBuilder, String)

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

HasColumnOrder(ComplexTypePropertyBuilder, Nullable<Int32>)

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

HasColumnType(ComplexTypePropertyBuilder, String)

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

HasComment(ComplexTypePropertyBuilder, String)

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

HasComputedColumnSql(ComplexTypePropertyBuilder)

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

HasComputedColumnSql(ComplexTypePropertyBuilder, String)

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

HasComputedColumnSql(ComplexTypePropertyBuilder, String, Nullable<Boolean>)

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

HasDefaultValue(ComplexTypePropertyBuilder)

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

HasDefaultValue(ComplexTypePropertyBuilder, Object)

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

HasDefaultValueSql(ComplexTypePropertyBuilder)

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

HasDefaultValueSql(ComplexTypePropertyBuilder, String)

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

HasJsonPropertyName(ComplexTypePropertyBuilder, String)

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

IsFixedLength(ComplexTypePropertyBuilder, Boolean)

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

UseCollation(ComplexTypePropertyBuilder, String)

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

HasSrid(ComplexTypePropertyBuilder, Int32)

設定以 SQLite 為目標時,屬性所對應之資料行的 SRID。

IsSparse(ComplexTypePropertyBuilder, Boolean)

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

UseHiLo(ComplexTypePropertyBuilder, String, String)

設定索引鍵屬性,以使用以序列為基礎的 hi-lo 模式,在以SQL Server為目標時產生新實體的值。 這個方法會將 屬性設定為 OnAdd

UseIdentityColumn(ComplexTypePropertyBuilder, Int32, Int32)

設定索引鍵屬性,以使用 SQL Server IDENTITY 功能在目標SQL Server時產生新實體的值。 這個方法會將 屬性設定為 OnAdd

UseIdentityColumn(ComplexTypePropertyBuilder, Int64, Int32)

設定索引鍵屬性,以使用 SQL Server IDENTITY 功能在目標SQL Server時產生新實體的值。 這個方法會將 屬性設定為 OnAdd

UseSequence(ComplexTypePropertyBuilder, String, String)

設定索引鍵屬性,以在以SQL Server為目標時,使用循序索引鍵值產生模式來產生新實體的值。 這個方法會將 屬性設定為 OnAdd

適用於