ComplexTypePropertyBuilder<TProperty> 類別

定義

提供簡單的 API 來設定 IMutableProperty

public class ComplexTypePropertyBuilder<TProperty> : Microsoft.EntityFrameworkCore.Metadata.Builders.ComplexTypePropertyBuilder
type ComplexTypePropertyBuilder<'Property> = class
    inherit ComplexTypePropertyBuilder
Public Class ComplexTypePropertyBuilder(Of TProperty)
Inherits ComplexTypePropertyBuilder

類型參數

TProperty
繼承
ComplexTypePropertyBuilder<TProperty>

備註

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

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

建構函式

ComplexTypePropertyBuilder<TProperty>(IMutableProperty)

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

屬性

Metadata

正在設定的屬性。

(繼承來源 ComplexTypePropertyBuilder)

方法

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)

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

HasConversion<TProvider>(Expression<Func<TProperty,TProvider>>, Expression<Func<TProvider,TProperty>>)

設定 屬性,以便使用指定的轉換運算式,將屬性值轉換成資料庫或從資料庫轉換。

HasConversion<TProvider>(Expression<Func<TProperty,TProvider>>, Expression<Func<TProvider,TProperty>>, ValueComparer)

設定 屬性,以便使用指定的轉換運算式,將屬性值轉換成資料庫或從資料庫轉換。

HasConversion<TProvider>(Expression<Func<TProperty,TProvider>>, Expression<Func<TProvider,TProperty>>, ValueComparer, ValueComparer)

設定 屬性,以便使用指定的轉換運算式,將屬性值轉換成資料庫或從資料庫轉換。

HasConversion<TProvider>(ValueConverter<TProperty,TProvider>)

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

HasConversion<TProvider>(ValueConverter<TProperty,TProvider>, ValueComparer)

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

HasConversion<TProvider>(ValueConverter<TProperty,TProvider>, ValueComparer, ValueComparer)

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

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

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

(繼承來源 ComplexTypePropertyBuilder)

擴充方法

GetInfrastructure<T>(IInfrastructure<T>)

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

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

HasColumnName(ComplexTypePropertyBuilder, String)

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

HasColumnName<TProperty>(ComplexTypePropertyBuilder<TProperty>, String)

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

HasColumnOrder(ComplexTypePropertyBuilder, Nullable<Int32>)

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

HasColumnOrder<TProperty>(ComplexTypePropertyBuilder<TProperty>, Nullable<Int32>)

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

HasColumnType(ComplexTypePropertyBuilder, String)

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

HasColumnType<TProperty>(ComplexTypePropertyBuilder<TProperty>, String)

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

HasComment(ComplexTypePropertyBuilder, String)

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

HasComment<TProperty>(ComplexTypePropertyBuilder<TProperty>, String)

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

HasComputedColumnSql(ComplexTypePropertyBuilder)

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

HasComputedColumnSql(ComplexTypePropertyBuilder, String)

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

HasComputedColumnSql(ComplexTypePropertyBuilder, String, Nullable<Boolean>)

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

HasComputedColumnSql<TProperty>(ComplexTypePropertyBuilder<TProperty>)

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

HasComputedColumnSql<TProperty>(ComplexTypePropertyBuilder<TProperty>, String)

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

HasComputedColumnSql<TProperty>(ComplexTypePropertyBuilder<TProperty>, String, Nullable<Boolean>)

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

HasDefaultValue(ComplexTypePropertyBuilder)

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

HasDefaultValue(ComplexTypePropertyBuilder, Object)

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

HasDefaultValue<TProperty>(ComplexTypePropertyBuilder<TProperty>)

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

HasDefaultValue<TProperty>(ComplexTypePropertyBuilder<TProperty>, Object)

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

HasDefaultValueSql(ComplexTypePropertyBuilder)

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

HasDefaultValueSql(ComplexTypePropertyBuilder, String)

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

HasDefaultValueSql<TProperty>(ComplexTypePropertyBuilder<TProperty>)

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

HasDefaultValueSql<TProperty>(ComplexTypePropertyBuilder<TProperty>, String)

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

HasJsonPropertyName(ComplexTypePropertyBuilder, String)

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

HasJsonPropertyName<TProperty>(ComplexTypePropertyBuilder<TProperty>, String)

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

IsFixedLength(ComplexTypePropertyBuilder, Boolean)

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

IsFixedLength<TProperty>(ComplexTypePropertyBuilder<TProperty>, Boolean)

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

UseCollation(ComplexTypePropertyBuilder, String)

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

UseCollation<TProperty>(ComplexTypePropertyBuilder<TProperty>, String)

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

HasSrid(ComplexTypePropertyBuilder, Int32)

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

HasSrid<TProperty>(ComplexTypePropertyBuilder<TProperty>, Int32)

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

IsSparse(ComplexTypePropertyBuilder, Boolean)

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

IsSparse<TProperty>(ComplexTypePropertyBuilder<TProperty>, Boolean)

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

UseHiLo(ComplexTypePropertyBuilder, String, String)

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

UseHiLo<TProperty>(ComplexTypePropertyBuilder<TProperty>, String, String)

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

UseIdentityColumn(ComplexTypePropertyBuilder, Int32, Int32)

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

UseIdentityColumn(ComplexTypePropertyBuilder, Int64, Int32)

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

UseIdentityColumn<TProperty>(ComplexTypePropertyBuilder<TProperty>, Int32, Int32)

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

UseIdentityColumn<TProperty>(ComplexTypePropertyBuilder<TProperty>, Int64, Int32)

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

UseSequence(ComplexTypePropertyBuilder, String, String)

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

UseSequence<TProperty>(ComplexTypePropertyBuilder<TProperty>, String, String)

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

適用於