EntityTypeBuilder 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供簡單的 API 來設定 IMutableEntityType 。
public class EntityTypeBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.IMutableModel>, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>
public class EntityTypeBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>
public class EntityTypeBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionEntityTypeBuilder>
type EntityTypeBuilder = class
interface IInfrastructure<IMutableModel>
interface IInfrastructure<InternalEntityTypeBuilder>
type EntityTypeBuilder = class
interface IInfrastructure<InternalEntityTypeBuilder>
type EntityTypeBuilder = class
interface IInfrastructure<IConventionEntityTypeBuilder>
Public Class EntityTypeBuilder
Implements IInfrastructure(Of IMutableModel), IInfrastructure(Of InternalEntityTypeBuilder)
Public Class EntityTypeBuilder
Implements IInfrastructure(Of InternalEntityTypeBuilder)
Public Class EntityTypeBuilder
Implements IInfrastructure(Of IConventionEntityTypeBuilder)
- 繼承
-
EntityTypeBuilder
- 衍生
- 實作
-
IInfrastructure<IMutableModel> IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder> IInfrastructure<IConventionEntityTypeBuilder>
備註
使用 ModelBuilder API 時,這個類別的實例會從方法傳回,而且不是設計成直接在應用程式程式碼中建構。
建構函式
EntityTypeBuilder(IMutableEntityType) |
這是支援 Entity Framework Core 基礎結構的內部 API,不受與公用 API 相同的相容性標準。 它可能會在任何版本中變更或移除,而不需任何通知。 您應該只在程式碼中直接使用它,並特別小心,並知道這麼做可能會導致應用程式在更新至新的 Entity Framework Core 版本時失敗。 |
EntityTypeBuilder(InternalEntityTypeBuilder) |
此 API 支援 Entity Framework Core 基礎結構,而且不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。 |
屬性
Builder |
這是支援 Entity Framework Core 基礎結構的內部 API,不受與公用 API 相同的相容性標準。 它可能會在任何版本中變更或移除,而不需任何通知。 您應該只在程式碼中直接使用它,並特別小心,並知道這麼做可能會導致應用程式在更新至新的 Entity Framework Core 版本時失敗。 |
Metadata |
正在設定的實體型別。 |
方法
ComplexProperty(String) |
傳回物件,這個物件可用來設定實體類型的複雜屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
ComplexProperty(String, Action<ComplexPropertyBuilder>) |
設定實體類型的複雜屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
ComplexProperty(Type, String) |
設定實體類型的複雜屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
ComplexProperty(Type, String, Action<ComplexPropertyBuilder>) |
傳回物件,這個物件可用來設定複雜類型的複雜屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
ComplexProperty(Type, String, String) |
設定實體類型的複雜屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
ComplexProperty(Type, String, String, Action<ComplexPropertyBuilder>) |
傳回物件,這個物件可用來設定複雜類型的複雜屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
ComplexProperty<TProperty>(String) |
傳回物件,這個物件可用來設定實體類型的複雜屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
ComplexProperty<TProperty>(String, Action<ComplexPropertyBuilder<TProperty>>) |
設定實體類型的複雜屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
ComplexProperty<TProperty>(String, String) |
傳回物件,這個物件可用來設定實體類型的複雜屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
ComplexProperty<TProperty>(String, String, Action<ComplexPropertyBuilder<TProperty>>) |
設定實體類型的複雜屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
FindRelatedEntityType(String, String) |
這是支援 Entity Framework Core 基礎結構的內部 API,不受與公用 API 相同的相容性標準。 它可能會在任何版本中變更或移除,而不需任何通知。 您應該只在程式碼中直接使用它,並特別小心,並知道這麼做可能會導致應用程式在更新至新的 Entity Framework Core 版本時失敗。 |
FindRelatedEntityType(Type, String) |
這是支援 Entity Framework Core 基礎結構的內部 API,不受與公用 API 相同的相容性標準。 它可能會在任何版本中變更或移除,而不需任何通知。 您應該只在程式碼中直接使用它,並特別小心,並知道這麼做可能會導致應用程式在更新至新的 Entity Framework Core 版本時失敗。 |
HasAlternateKey(String[]) |
如果此實體類型不存在於指定的屬性上,請在模型中建立替代索引鍵。 這會強制屬性為唯讀。 用來 HasIndex 指定模型中不強制屬性為唯讀的唯一性。 |
HasAnnotation(String, Object) |
在實體類型上加入或更新批註。 如果 中 |
HasBaseType(String) |
在繼承階層中設定此實體類型的基底類型。 |
HasBaseType(Type) |
在繼承階層中設定此實體類型的基底類型。 |
HasChangeTrackingStrategy(ChangeTrackingStrategy) |
設定 ChangeTrackingStrategy 要用於這個實體類型的 。 此策略指出內容如何偵測實體類型實例的屬性變更。 |
HasChangeTrackingStrategy(ChangeTrackingStrategy) |
設定 ChangeTrackingStrategy 要用於這個實體類型的 。 此策略指出內容如何偵測實體類型實例的屬性變更。 |
HasData(IEnumerable<Object>) |
將此實體設定為具有種子資料。 它用來產生資料動作移轉。 |
HasData(Object[]) |
將此實體設定為具有種子資料。 它用來產生資料動作移轉。 |
HasDiscriminator() |
設定用來識別存放區中實體類型的鑒別子屬性。 |
HasDiscriminator(String, Type) |
設定用來識別存放區中實體類型的鑒別子屬性。 |
HasDiscriminator<TDiscriminator>(String) |
設定用來識別存放區中實體類型的鑒別子屬性。 |
HasIndex(String[]) |
在指定的屬性上設定未命名的索引。 如果指定屬性清單上有現有的未命名索引,則會傳回現有的索引以供組態使用。 |
HasIndex(String[], String) |
在指定的屬性上設定索引,並使用指定的名稱。 如果指定屬性清單和具有指定名稱的現有索引,則會針對組態傳回現有的索引。 |
HasKey(String[]) |
設定組成這個實體類型之主鍵的屬性。 |
HasMany(String) |
設定關聯性,其中此實體類型具有包含關聯性中其他類型實例的集合。 |
HasMany(String, String) |
設定關聯性,其中此實體類型具有包含關聯性中其他類型實例的集合。 |
HasMany(Type, String) |
設定關聯性,其中此實體類型具有包含關聯性中其他類型實例的集合。 |
HasManyBuilder(EntityType, PropertyInfo) |
此 API 支援 Entity Framework Core 基礎結構,而且不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。 |
HasManyBuilder(EntityType, String) |
此 API 支援 Entity Framework Core 基礎結構,而且不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。 |
HasNoDiscriminator() |
將實體類型設定為沒有鑒別子屬性。 |
HasNoKey() |
將實體類型設定為沒有索引鍵。 它只能用於查詢。 |
HasOne(String) |
設定關聯性,其中此實體類型具有指向關聯性中其他類型之單一實例的參考。 |
HasOne(String, String) |
設定關聯性,其中此實體類型具有指向關聯性中其他類型之單一實例的參考。 |
HasOne(Type, String) |
設定關聯性,其中此實體類型具有指向關聯性中其他類型之單一實例的參考。 |
HasOneBuilder(EntityType, PropertyInfo) |
此 API 支援 Entity Framework Core 基礎結構,而且不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。 |
HasOneBuilder(EntityType, String) |
此 API 支援 Entity Framework Core 基礎結構,而且不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。 |
HasOneBuilder(MemberIdentity, EntityType) |
這是支援 Entity Framework Core 基礎結構的內部 API,不受與公用 API 相同的相容性標準。 它可能會在任何版本中變更或移除,而不需任何通知。 您應該只在程式碼中直接使用它,並特別小心,並知道這麼做可能會導致應用程式在更新至新的 Entity Framework Core 版本時失敗。 |
HasQueryFilter(LambdaExpression) |
指定 LINQ 述詞運算式,此運算式會自動套用至以這個實體類型為目標的任何查詢。 |
HasTrigger(IMutableEntityType, String) |
設定實體類型的觸發程式。 |
Ignore(String) |
從實體類型中排除指定的屬性。 這個方法通常用來從慣例新增的實體類型中移除屬性和導覽。 |
IndexerProperty(Type, String) |
傳回物件,這個物件可用來設定實體類型的屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
IndexerProperty<TProperty>(String) |
傳回物件,這個物件可用來設定實體類型的屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
Navigation(String) |
傳回物件,這個物件可用來設定實體類型的現有導覽屬性。 巡覽屬性不存在時發生錯誤。 |
New(InternalEntityTypeBuilder) |
此 API 支援 Entity Framework Core 基礎結構,而且不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。 |
OwnsMany(String, String) |
設定目標實體由 (或) 此實體的一部分所擁有的關聯性。 |
OwnsMany(String, String, Action<CollectionOwnershipBuilder>) |
設定此實體類型提供關聯性給關聯性中的其他型別的身分識別。 |
OwnsMany(String, String, Action<OwnedNavigationBuilder>) |
設定目標實體由 (或) 此實體的一部分所擁有的關聯性。 |
OwnsMany(String, Type, String) |
設定目標實體由 (或) 此實體的一部分所擁有的關聯性。 |
OwnsMany(String, Type, String, Action<OwnedNavigationBuilder>) |
設定目標實體由 (或) 此實體的一部分所擁有的關聯性。 |
OwnsMany(Type, String) |
設定目標實體由 (或) 此實體的一部分所擁有的關聯性。 |
OwnsMany(Type, String, Action<CollectionOwnershipBuilder>) |
設定此實體類型提供關聯性給關聯性中的其他型別的身分識別。 |
OwnsMany(Type, String, Action<OwnedNavigationBuilder>) |
設定目標實體由 (或) 此實體的一部分所擁有的關聯性。 |
OwnsOne(String, String) |
設定目標實體由 (或) 此實體的一部分所擁有的關聯性。 |
OwnsOne(String, String, Action<OwnedNavigationBuilder>) |
設定目標實體由 (或) 此實體的一部分所擁有的關聯性。 |
OwnsOne(String, String, Action<ReferenceOwnershipBuilder>) |
設定目標實體由 (或) 此實體的一部分所擁有的關聯性。 即使導覽的類型相同,每個擁有權關聯性的目標實體類型都會被視為不同的實體類型。 目標實體類型的設定不會套用至其他擁有權關聯性的目標實體類型。 擁有實體上的大部分作業都需要使用對應的導覽,透過擁有者實體存取它。 |
OwnsOne(String, Type, String) |
設定目標實體由 (或) 此實體的一部分所擁有的關聯性。 |
OwnsOne(String, Type, String, Action<OwnedNavigationBuilder>) |
設定目標實體由 (或) 此實體的一部分所擁有的關聯性。 |
OwnsOne(Type, String) |
設定目標實體由 (或) 此實體的一部分所擁有的關聯性。 |
OwnsOne(Type, String, Action<OwnedNavigationBuilder>) |
設定目標實體由 (或) 此實體的一部分所擁有的關聯性。 |
OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>) |
設定目標實體由 (或) 此實體的一部分所擁有的關聯性。 即使導覽的類型相同,每個擁有權關聯性的目標實體類型都會被視為不同的實體類型。 目標實體類型的設定不會套用至其他擁有權關聯性的目標實體類型。 擁有實體上的大部分作業都需要使用對應的導覽,透過擁有者實體存取它。 |
PrimitiveCollection(String) |
傳回物件,這個物件可用來設定實體類型的屬性,其中該屬性代表基本值的集合,例如字串或整數。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
PrimitiveCollection(Type, String) |
傳回物件,這個物件可用來設定實體類型的屬性,其中該屬性代表基本值的集合,例如字串或整數。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
PrimitiveCollection<TProperty>(String) |
傳回物件,這個物件可用來設定實體類型的屬性,其中該屬性代表基本值的集合,例如字串或整數。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
Property(String) |
傳回物件,這個物件可用來設定實體類型的屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
Property(Type, String) |
傳回物件,這個物件可用來設定實體類型的屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
Property<TProperty>(String) |
傳回物件,這個物件可用來設定實體類型的屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 |
UsePropertyAccessMode(PropertyAccessMode) |
PropertyAccessMode設定要用於這個實體類型之所有屬性的 。 根據預設,如果依慣例找到支援欄位或已指定支援欄位,則會在建構新物件時使用,通常是從資料庫查詢實體時。 屬性會用於所有其他存取。 呼叫這個方法會變更此實體類型之所有屬性的行為,如列舉中所述 PropertyAccessMode 。 呼叫這個方法會覆寫此實體類型的所有屬性,任何在模型上設定的存取模式。 |
UsePropertyAccessMode(PropertyAccessMode) |
PropertyAccessMode設定要用於這個實體類型之所有屬性的 。 |
明確介面實作
IInfrastructure<IConventionEntityTypeBuilder>.Instance |
取得用來設定實體類型的內部產生器。 |
IInfrastructure<IMutableModel>.Instance |
實體類型所屬的模型。 |
IInfrastructure<InternalEntityTypeBuilder>.Instance |
取得用來設定實體類型的內部產生器。 |