CollectionOwnershipBuilder 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供簡單的 API 來設定一對多擁有權。
public class CollectionOwnershipBuilder : Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceCollectionBuilderBase, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>
type CollectionOwnershipBuilder = class
inherit ReferenceCollectionBuilderBase
interface IInfrastructure<InternalEntityTypeBuilder>
Public Class CollectionOwnershipBuilder
Inherits ReferenceCollectionBuilderBase
Implements IInfrastructure(Of InternalEntityTypeBuilder)
- 繼承
- 衍生
- 實作
-
IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>
建構函式
CollectionOwnershipBuilder(EntityType, EntityType, InternalRelationshipBuilder) |
此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。 |
CollectionOwnershipBuilder(InternalRelationshipBuilder, CollectionOwnershipBuilder, Boolean, Boolean, Boolean) |
此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。 |
屬性
Builder |
此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。 (繼承來源 ReferenceCollectionBuilderBase) |
DependentEntityType |
取得用來設定此關聯性的相依實體類型。 (繼承來源 ReferenceCollectionBuilderBase) |
Metadata |
表示此關聯性的外鍵。 (繼承來源 ReferenceCollectionBuilderBase) |
OwnedEntityType |
正在設定的擁有實體類型。 |
PrincipalEntityType |
取得用來設定此關聯性的主體實體類型。 (繼承來源 ReferenceCollectionBuilderBase) |
方法
FindRelatedEntityType(String, String) |
此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。 |
FindRelatedEntityType(Type, String) |
此 API 支援 Entity Framework Core 基礎結構,並不適合直接從您的程式碼使用。 此 API 可能會在未來的版本中變更或移除。 |
HasChangeTrackingStrategy(ChangeTrackingStrategy) |
設定 ChangeTrackingStrategy 要用於此實體類型的 。 此策略指出內容如何偵測實體類型實例的屬性變更。 |
HasData(Object[]) |
將此實體設定為具有種子資料。 它用來產生資料動作移轉。 |
HasEntityTypeAnnotation(String, Object) |
在擁有的實體類型上新增或更新注釋。 如果中 |
HasForeignKey(String[]) |
設定屬性 () 做為此關聯性的外鍵。 如果實體類型上沒有指定的屬性名稱 () ,則會新增新的陰影狀態屬性 (s) 作為外鍵。 陰影狀態屬性是實體類別中沒有對應屬性的屬性。 屬性的目前值會儲存在 中 ChangeTracker ,而不是儲存在實體類別的實例中。 如果未 HasPrincipalKey(String[]) 指定 ,則會嘗試比對主體實體類型主鍵的資料類型和外鍵屬性順序。 如果它們不相符,形成唯一索引的新陰影狀態屬性將會新增至主體實體類型,做為參考索引鍵。 |
HasForeignKeyAnnotation(String, Object) |
在外鍵上新增或更新注釋。 如果中 |
HasIndex(String[]) |
在指定的屬性上設定索引。 如果給定的屬性集上有現有的索引,則會傳回現有的索引以進行設定。 |
HasKey(String[]) |
設定組成這個擁有之實體類型之主鍵的屬性。 |
HasOne(String, String) |
設定關聯性,其中這個實體類型具有指向關聯性中其他類型之單一實例的參考。 請注意,即使實體類型上存在這類屬性,沒有參數呼叫這個方法,仍會明確地將關聯性的這個端設定為不使用導覽屬性。 如果要使用導覽屬性,則必須指定它。 呼叫此方法之後,您應該鏈結對 WithMany(String) 或 WithOne(String) 的呼叫,以完整設定關聯性。 只要呼叫這個方法而沒有鏈結呼叫,就不會產生有效的關聯性。 |
HasOne(Type, String) |
設定關聯性,其中這個實體類型具有指向關聯性中其他類型之單一實例的參考。 請注意,即使實體類型上存在這類屬性,沒有參數呼叫這個方法,仍會明確地將關聯性的這個端設定為不使用導覽屬性。 如果要使用導覽屬性,則必須指定它。 呼叫此方法之後,您應該鏈結對 WithMany(String) 或 WithOne(String) 的呼叫,以完整設定關聯性。 只要呼叫這個方法而沒有鏈結呼叫,就不會產生有效的關聯性。 |
HasPrincipalKey(String[]) |
設定這個關聯性目標之唯一屬性 (s) 。 通常,如果您想要使用主鍵以外的屬性 () 做為主體屬性, (s) ,您通常會呼叫這個方法。 如果指定的屬性 () 尚未是唯一條件約束 (或主鍵) ,則會導入新的唯一條件約束。 |
Ignore(String) |
從實體類型中排除指定的屬性。 這個方法通常用來從慣例新增的自有實體類型中移除屬性。 |
OnDelete(DeleteBehavior) |
設定刪除主體或中斷關聯性時,刪除作業如何套用至關聯性中的相依實體。 |
OwnsMany(String, String) |
設定關聯性,其中目標實體是由 (或) 此實體的一部分所擁有。 每個擁有權關聯性的目標實體類型都會被視為不同的實體類型,即使導覽的類型相同也一樣。 目標實體類型的設定不會套用至其他擁有權關聯性的目標實體類型。 擁有實體上的大部分作業都需要使用對應的導覽,透過擁有者實體存取它。 |
OwnsMany(String, String, Action<CollectionOwnershipBuilder>) |
設定關聯性,其中這個實體類型會將身分識別提供給關聯性中的其他類型。 |
OwnsMany(Type, String) |
設定關聯性,其中目標實體是由 (或) 此實體的一部分所擁有。 每個擁有權關聯性的目標實體類型都會被視為不同的實體類型,即使導覽的類型相同也一樣。 目標實體類型的設定不會套用至其他擁有權關聯性的目標實體類型。 擁有實體上的大部分作業都需要使用對應的導覽,透過擁有者實體存取它。 |
OwnsMany(Type, String, Action<CollectionOwnershipBuilder>) |
設定關聯性,其中這個實體類型會將身分識別提供給關聯性中的其他類型。 |
OwnsOne(String, String) |
設定關聯性,其中目標實體是由 (或) 此實體的一部分所擁有。 目標實體索引鍵值一律會從它所屬的實體傳播。 每個擁有權關聯性的目標實體類型都會被視為不同的實體類型,即使導覽的類型相同也一樣。 目標實體類型的設定不會套用至其他擁有權關聯性的目標實體類型。 擁有實體上的大部分作業都需要使用對應的導覽,透過擁有者實體存取它。 |
OwnsOne(String, String, Action<ReferenceOwnershipBuilder>) |
設定關聯性,其中目標實體是由 (或) 此實體的一部分所擁有。 目標實體索引鍵值一律會從它所屬的實體傳播。 每個擁有權關聯性的目標實體類型都會被視為不同的實體類型,即使導覽的類型相同也一樣。 目標實體類型的設定不會套用至其他擁有權關聯性的目標實體類型。 擁有實體上的大部分作業都需要使用對應的導覽,透過擁有者實體存取它。 |
OwnsOne(Type, String) |
設定關聯性,其中目標實體是由 (或) 此實體的一部分所擁有。 目標實體索引鍵值一律會從它所屬的實體傳播。 每個擁有權關聯性的目標實體類型都會被視為不同的實體類型,即使導覽的類型相同也一樣。 目標實體類型的設定不會套用至其他擁有權關聯性的目標實體類型。 擁有實體上的大部分作業都需要使用對應的導覽,透過擁有者實體存取它。 |
OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>) |
設定關聯性,其中目標實體是由 (或) 此實體的一部分所擁有。 目標實體索引鍵值一律會從它所屬的實體傳播。 每個擁有權關聯性的目標實體類型都會被視為不同的實體類型,即使導覽的類型相同也一樣。 目標實體類型的設定不會套用至其他擁有權關聯性的目標實體類型。 擁有實體上的大部分作業都需要使用對應的導覽,透過擁有者實體存取它。 |
Property(String) |
傳回物件,這個物件可用來設定擁有實體類型的屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 使用這個多載新增屬性時,屬性名稱必須符合實體類型上 CLR 屬性或欄位的名稱。 這個多載無法用來新增陰影狀態屬性。 |
Property(Type, String) |
傳回物件,這個物件可用來設定擁有實體類型的屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 新增屬性時,如果具有相同名稱的屬性存在於實體類別中,則會將它新增至模型。 如果實體類別中沒有任何屬性存在,則會新增新的陰影狀態屬性。 陰影狀態屬性是實體類別中沒有對應屬性的屬性。 屬性的目前值會儲存在 中 ChangeTracker ,而不是儲存在實體類別的實例中。 |
Property<TProperty>(String) |
傳回物件,這個物件可用來設定擁有實體類型的屬性。 如果沒有具有指定名稱的屬性存在,則會加入新的屬性。 新增屬性時,如果具有相同名稱的屬性存在於實體類別中,則會將它新增至模型。 如果實體類別中沒有任何屬性存在,則會新增新的陰影狀態屬性。 陰影狀態屬性是實體類別中沒有對應屬性的屬性。 屬性的目前值會儲存在 中 ChangeTracker ,而不是儲存在實體類別的實例中。 |
UsePropertyAccessMode(PropertyAccessMode) |
PropertyAccessMode設定要用於此實體類型之所有屬性的 。 根據預設,如果依慣例找到支援欄位或已指定支援欄位,則會在建構新物件時使用,通常是從資料庫查詢實體時。 屬性會用於所有其他存取。 呼叫這個方法將會變更此實體類型之所有屬性的行為,如列舉中所述 PropertyAccessMode 。 針對此實體類型的所有屬性呼叫此方法,會覆寫模型上設定的任何存取模式。 |
明確介面實作
IInfrastructure<IMutableModel>.Instance |
此關聯性所屬的模型。 (繼承來源 ReferenceCollectionBuilderBase) |
IInfrastructure<InternalEntityTypeBuilder>.Instance |
取得用來設定擁有實體類型的內部產生器。 |
IInfrastructure<InternalRelationshipBuilder>.Instance |
取得用來設定此關聯性的內部產生器。 (繼承來源 ReferenceCollectionBuilderBase) |
擴充方法
GetInfrastructure<T>(IInfrastructure<T>) |
從使用 IInfrastructure<T> 隱藏的屬性取得值。 這個方法通常由資料庫提供者使用, (和其他延伸模組) 。 它通常不會用於應用程式程式碼中。 |
HasConstraintName(CollectionOwnershipBuilder, String) |
以關係資料庫為目標時,設定此關聯性的外鍵條件約束名稱。 |
ToTable(CollectionOwnershipBuilder, String) |
設定以關係資料庫為目標時,實體所對應的檢視或資料表。 |
ToTable(CollectionOwnershipBuilder, String, String) |
設定以關係資料庫為目標時,實體所對應的檢視或資料表。 |
ForSqlServerIsMemoryOptimized(CollectionOwnershipBuilder, Boolean) |
將實體目標設為記憶體優化時,設定實體對應至的資料表SQL Server。 |