Share via


IForeignKey 介面

定義

表示關聯性,其中相依實體類型上由屬性組成的外鍵會參考主體實體類型上對應的主鍵或替代索引鍵。

public interface IForeignKey : Microsoft.EntityFrameworkCore.Infrastructure.IAnnotatable
public interface IForeignKey : Microsoft.EntityFrameworkCore.Infrastructure.IAnnotatable, Microsoft.EntityFrameworkCore.Metadata.IReadOnlyForeignKey
type IForeignKey = interface
    interface IAnnotatable
type IForeignKey = interface
    interface IReadOnlyForeignKey
    interface IReadOnlyAnnotatable
    interface IAnnotatable
Public Interface IForeignKey
Implements IAnnotatable
Public Interface IForeignKey
Implements IAnnotatable, IReadOnlyForeignKey
衍生
實作

備註

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

屬性

DeclaringEntityType

取得相依實體類型。 這可能與在繼承階層中定義衍生型別時所定義的型 Properties 別不同 (,因為屬性可以在基底類型上定義) 。

DeleteBehavior

取得值,指出刪除作業如何在刪除主體或中斷關聯性時,將刪除作業套用至關聯性中的相依實體。

DependentToPrincipal

取得指向主體實體之相依實體類型的導覽屬性。

IsOwnership

取得或設定值,指出這個關聯性是否定義擁有權。 如果 true 為 ,則一律必須透過主體實體的導覽來存取相依實體。

IsRequired

取得值,指出是否需要主體實體。 如果 true 為 ,則相依實體必須一律指派給有效的主體實體。

IsRequiredDependent

取得值,指出是否需要相依實體。 如果 true 為 ,則主體實體必須一律指派有效的相依實體。

IsUnique

取得值,指出指派給外鍵屬性的值是否是唯一的。

Item[String]

取得具有指定名稱的注釋值,如果不存在,則傳 null 回 。

(繼承來源 IReadOnlyAnnotatable)
PrincipalEntityType

取得這個關聯性的目標主體實體類型。 這可能與關聯性以繼承階層中的衍生類型為目標時所定義的類型 PrincipalKey 不同 (,因為索引鍵是在階層的基底類型上定義) 。

PrincipalKey

取得關聯性目標的主要或替代索引鍵。

PrincipalToDependent

取得指向相依實體之主體實體類型上的導覽屬性。

Properties

取得相依實體中的外鍵屬性。

方法

AddRuntimeAnnotation(String, Object)

將執行時間批註加入至這個物件。 如果具有指定名稱的注釋已經存在,則會擲回 。

(繼承來源 IAnnotatable)
AnnotationsToDebugString(Int32)

取得 物件上宣告之所有批註的偵錯字串。

(繼承來源 IReadOnlyAnnotatable)
FindAnnotation(String)

取得具有指定名稱的注釋,如果不存在,則傳 null 回 。

(繼承來源 IReadOnlyAnnotatable)
FindRuntimeAnnotation(String)

取得具有指定名稱的執行時間批註,如果不存在,則傳 null 回 。

(繼承來源 IAnnotatable)
FindRuntimeAnnotationValue(String)

取得具有指定名稱的執行時間批註值,如果不存在,則傳 null 回 。

(繼承來源 IAnnotatable)
GetAnnotation(String)

取得具有指定名稱的注釋,如果不存在,則會擲回。

(繼承來源 IReadOnlyAnnotatable)
GetAnnotations()

取得目前 物件上的所有批註。

(繼承來源 IReadOnlyAnnotatable)
GetDependentKeyValueFactory()

根據從各種實體資料形式取得的外鍵值,建立索引鍵值的處理站。

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

GetDependentKeyValueFactory<TKey>()

根據從各種實體資料形式取得的外鍵值,建立索引鍵值的處理站。

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

GetNavigation(Boolean)

傳回與此外鍵相關聯的導覽。

GetOrAddRuntimeAnnotationValue<TValue,TArg>(String, Func<TArg,TValue>, TArg)

取得具有指定名稱的執行時間注釋值,如果不存在,請加以新增。

(繼承來源 IAnnotatable)
GetReferencingSkipNavigations()

取得使用這個外鍵的所有略過流覽。

GetRelatedEntityType(IReadOnlyEntityType)

取得與指定實體類型相關的實體類型。

GetRuntimeAnnotations()

取得目前 物件上的所有執行時間批註。

(繼承來源 IAnnotatable)
IsBaseLinking()

傳回值,指出外鍵是否定義在主鍵上,並指向相同的主鍵。

(繼承來源 IReadOnlyForeignKey)
RemoveRuntimeAnnotation(String)

從這個 物件中移除指定的執行時間批註。

(繼承來源 IAnnotatable)
SetRuntimeAnnotation(String, Object)

設定儲存在指定索引鍵下的執行時間批註。 如果具有指定名稱的注釋已經存在,則覆寫現有的注釋。

(繼承來源 IAnnotatable)
ToDebugString(MetadataDebugStringOptions, Int32)

建立人類可讀取的指定中繼資料標記法。

警告:請勿依賴傳回字串的格式。 它是專為偵錯而設計,而且可能會在發行之間任意變更。

(繼承來源 IReadOnlyForeignKey)

擴充方法

GetDependentKeyValueFactory<TKey>(IForeignKey)

根據從各種實體資料形式取得的外鍵值,建立索引鍵值的處理站。

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

GetNavigation(IForeignKey, Boolean)

傳回與此外鍵相關聯的導覽。

GetRelatedEntityType(IForeignKey, IEntityType)

取得與指定實體類型相關的實體類型。

IsBaseLinking(IForeignKey)

傳回值,指出外鍵是否定義在主鍵上,並指向相同的主鍵。

ToDebugString(IForeignKey, MetadataDebugStringOptions, Int32)

建立人類可讀取的指定中繼資料標記法。

警告:請勿依賴傳回字串的格式。 它是專為偵錯而設計,而且可能會在發行之間任意變更。

AnnotationsToDebugString(IAnnotatable, Int32)

取得 物件上宣告之所有批註的偵錯字串。

GetAnnotation(IAnnotatable, String)

取得具有指定名稱的注釋,如果不存在,則會擲回。

FindSharedObjectRootForeignKey(IForeignKey, StoreObjectIdentifier)

尋找對應至共用資料表類似物件中相同條件約束的第一 IConventionForeignKey 個 。

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

FindSharedObjectRootForeignKey(IReadOnlyForeignKey, StoreObjectIdentifier)

尋找對應至共用資料表類似物件中相同條件約束的第一 IForeignKey 個 。

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

GetConstraintName(IForeignKey)

傳回外鍵條件約束名稱。

GetConstraintName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

傳回外鍵條件約束名稱。

GetConstraintName(IReadOnlyForeignKey)

傳回外鍵條件約束名稱。

GetConstraintName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

傳回外鍵條件約束名稱。

GetDefaultName(IForeignKey)

傳回將用於這個外鍵的預設條件約束名稱。

GetDefaultName(IForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

傳回將用於這個外鍵的預設條件約束名稱。

GetDefaultName(IReadOnlyForeignKey)

傳回將用於這個外鍵的預設條件約束名稱。

GetDefaultName(IReadOnlyForeignKey, StoreObjectIdentifier, StoreObjectIdentifier)

傳回將用於這個外鍵的預設條件約束名稱。

GetMappedConstraints(IForeignKey)

取得外鍵對應的外鍵條件約束。

IsRowInternal(IReadOnlyForeignKey, StoreObjectIdentifier)

傳回值,指出這個外鍵是否介於兩個共用相同類似資料表的存放區物件實體類型之間。

Relational(IForeignKey)

取得外鍵的關係資料庫特定中繼資料。

GetFluentApiCalls(IForeignKey, IAnnotationCodeGenerator, Boolean)

取得 Fluent API 呼叫以設定外鍵。

Sqlite(IForeignKey)

取得外鍵的 SQLite 特定中繼資料。

SqlServer(IForeignKey)

取得SQL Server外鍵的特定中繼資料。

適用於