語言

IReadOnlyModel 介面

定義

關於實體形狀、彼此關係,以及它們如何映射到資料庫的元資料。 模型通常是透過覆寫 OnModelCreating(ModelBuilder) 導出 DbContext的方法來建立的。

public interface IReadOnlyModel : Microsoft.EntityFrameworkCore.Infrastructure.IReadOnlyAnnotatable
type IReadOnlyModel = interface
    interface IReadOnlyAnnotatable
Public Interface IReadOnlyModel
Implements IReadOnlyAnnotatable
衍生
實作

備註

更多資訊與範例請參閱 建模實體類型與關係 。

屬性

名稱 Description
Item[String]

取得帶有名稱的註解值,若不存在則回 null 傳。

(繼承來源 IReadOnlyAnnotatable)
ModelId

這是一個內部 API,支援 Entity Framework Core 基礎架構,且不受公開 API 相同的相容性標準約束。 該內容可能會在任何新聞稿中未經通知而更改或移除。 你應該只在程式碼中直接使用它,並且要非常謹慎,並且要知道這樣做可能會導致更新到新的 Entity Framework Core 版本時應用程式失敗。

方法

名稱 Description
AnnotationsToDebugString(Int32)

取得物件上所有宣告註解的除錯字串。

(繼承來源 IReadOnlyAnnotatable)
FindAnnotation(String)

取得帶有名字的註解,若不存在則回 null 傳。

(繼承來源 IReadOnlyAnnotatable)
FindEntityType(String, String, IReadOnlyEntityType)

取得給定基底名稱的實體類型,定義導航名稱及定義實體類型。 若未找到匹配實體類型,則回傳 null 。

FindEntityType(String)

會取得帶有名字的實體類型。 若未找到帶有該名稱的實體類型,或該 CLR 類型被共用類型實體類型使用,或該實體類型有定義導覽,則回傳 null 。

FindEntityType(Type, String, IReadOnlyEntityType)

取得該類型實體類型,定義導航名稱及定義實體類型。 若未找到匹配實體類型,則回傳 null 。

FindEntityType(Type)

取得映射該實體類別的實體。 若未找到具有相同 CLR 類型的實體類型,或該 CLR 類型被共用類型實體類型使用,或該實體類型具有定義導覽,則回傳 null 。

FindEntityTypes(Type)

取得與該類型相符的實體類型。

FindLeastDerivedEntityTypes(Type, Func<IReadOnlyEntityType,Boolean>)

回傳對應給定中最微導型態的實體類型。

GetAnnotation(String)

取得帶有名稱的註解,若不存在則拋出。

(繼承來源 IReadOnlyAnnotatable)
GetAnnotations()

取得目前物件的所有註解。

(繼承來源 IReadOnlyAnnotatable)
GetChangeTrackingStrategy()

取得模型中實體所使用的預設變更追蹤策略。 此策略顯示上下文如何偵測某個實體類型實例的屬性變更。

GetEmbeddedDiscriminatorName()

它獲得了名稱,用於 JSON 文件中嵌入的判別符屬性。 預設是「$type」。

GetEntityTypes()

它會取得模型中定義的所有實體類型。

GetProductVersion()

用來組裝這個模型的 EF Core 組合版本。

GetPropertyAccessMode()

因此,該 PropertyAccessMode 模型中用於實體類型的屬性。

IsShared(Type)

會取得一個值,表示模型中共享型態實體是否使用CLR型別。

ToDebugString(MetadataDebugStringOptions, Int32)

建立給定元資料的可讀表示法。

警告:請勿依賴回傳字串的格式。 它僅設計用於除錯,且可能在不同版本間任意變動。

擴充方法

名稱 Description
AreNamedDefaultConstraintsUsed(IReadOnlyModel)

回傳是否應使用命名預設約束的值。

FindDbFunction(IReadOnlyModel, MethodInfo)

找到一個映射到由給定 MethodInfo方法所代表的方法的函數。

FindDbFunction(IReadOnlyModel, String)

找到一個映射到該名稱所代表方法的函數。

FindFullTextCatalog(IReadOnlyModel, String)

在模型中找到全文目錄,或若未找到則返回 null 。

FindSequence(IReadOnlyModel, String, String)

找到一個帶有該名稱的序列。

GetCollation(IReadOnlyModel)

回傳資料庫的彙整。

GetDatabaseMaxSize(IReadOnlyModel)

回傳資料庫的最大大小。

GetDbFunctions(IReadOnlyModel)

回傳模型中所有函數。

GetDefaultContainer(IReadOnlyModel)

會回傳預設容器名稱。

GetDefaultFullTextSearchLanguage(IReadOnlyModel)

在資料庫範圍內回傳全文搜尋的預設語言。

GetDefaultSchema(IReadOnlyModel)

回傳模型的預設架構,或 null 若未設定預設結構。

GetDiscriminatorInKey(IReadOnlyModel)

回傳一個值,指示實體類型判別器是否應包含在 JSON 的「id」值中。 在 EF Core 9 之前,它一直都包含在內。 從 EF Core 9 開始,預設不包含此功能。

GetFullTextCatalogs(IReadOnlyModel)

取得模型中定義的所有全文目錄。

GetHasShadowIds(IReadOnlyModel)

回傳一個值,表示是否可以從目前的組態來源設定「__id」屬性的設定中設定

GetHiLoSequenceName(IReadOnlyModel)

回傳名稱以用於預設 hi-lo 序列。

GetHiLoSequenceSchema(IReadOnlyModel)

回傳結構以用於預設 hi-lo 序列。 UseHiLo(PropertyBuilder, String, String)

GetIdentityIncrement(IReadOnlyModel)

回傳預設的身份遞增。

GetIdentitySeed(IReadOnlyModel)

回傳預設的身份種子。

GetMaxIdentifierLength(IReadOnlyModel)

回傳儲存識別碼允許的最大長度。

GetPerformanceLevelSql(IReadOnlyModel)

回傳資料庫的效能等級。

GetSequenceNameSuffix(IReadOnlyModel)

回傳後綴,將後綴加到自動建立序列的名稱後。

GetSequences(IReadOnlyModel)

回傳模型中包含的所有序列。

GetSequenceSchema(IReadOnlyModel)

回傳用於預設值產生序列的結構。 UseSequence(PropertyBuilder, String, String)

GetServiceTierSql(IReadOnlyModel)

回傳資料庫的服務層級。

GetThroughput(IReadOnlyModel)

回傳資料庫範圍內的配置吞吐量。

GetValueGenerationStrategy(IReadOnlyModel)

回傳 SqlServerValueGenerationStrategy 來表示模型中鍵的屬性,除非該屬性有明確設定的策略。

適用於