DbModelBuilder 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
DbModelBuilder 用於將 CLR 類別映射到資料庫架構。 這種以程式碼為中心的實體資料模型(EDM)建構方法稱為「程式碼優先」。
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", MessageId="Db")]
public class DbModelBuilder
public class DbModelBuilder
type DbModelBuilder = class
Public Class DbModelBuilder
- 繼承
-
DbModelBuilder
- 屬性
備註
DbModelBuilder 通常用於透過覆寫 DbContext.OnModelCreating(DbModelBuilder) 來配置模型。 你也可以獨立使用 DbModelBuilder 來建立模型,然後再建構 DbContext 或 ObjectContext。 不過,建議使用 OnModelCreating , DbContext 因為工作流程更直覺,能處理常見任務,例如快取已建立的模型。 構成你模型的型別會註冊在 DbModelBuilder 中,並且可透過對類別套用資料註解和/或使用 Fluent 風格的 DbModelBuilder API 來進行可選配置。 當呼叫 Build 方法時,會執行一組慣例以發現初始模型。 這些慣例會自動發現模型的某些面向,例如主鍵,並處理你類別中指定的資料註解。 最後,任何使用 DbModelBuilder API 執行的設定都會被套用。 透過 DbModelBuilder API 進行的設定優先於資料註解,而資料註解又優先於預設慣例。
建構函式
| 名稱 | Description |
|---|---|
| DbModelBuilder() |
初始化 DbModelBuilder 類別的新執行個體。 發現初始模型的過程將使用安裝在您機器上最新版本的實體框架中包含的一套慣例。 |
| DbModelBuilder(DbModelBuilderVersion) |
初始化一個新的類別實例,該實例 DbModelBuilder 將使用特定的慣例來發現初始模型。 |
屬性
| 名稱 | Description |
|---|---|
| Configurations |
這個資料庫模型建構器會被用 ConfigurationRegistrar 。 註冊商允許在此建構器註冊衍生實體及複雜型態配置。 |
| Conventions |
提供存取此資料庫模型建構器中處理慣例的設定。 |
方法
| 名稱 | Description |
|---|---|
| Build(DbConnection) |
根據使用此建構器執行的配置建立 。DbModel 此連線用來決定所使用的資料庫提供者,因為這會影響產生模型的資料庫層。 |
| Build(DbProviderInfo) |
根據使用此建構器執行的配置建立 。DbModel 提供者資訊必須指定,因為這會影響產生模型的資料庫層。 對於 SqlClient 來說,不變名稱是「System.Data.SqlClient」,清單標記是版本年份(例如 '2005'、'2008' 等)。 |
| ComplexType<TComplexType>() |
在模型中將一個類型註冊為複雜型態,並回傳一個可用於配置該複雜型態的物件。 此方法可多次呼叫同一類型,以執行多行配置。 |
| Entity<TEntityType>() |
將實體類型註冊為模型的一部分,並回傳一個可用於設定實體的物件。 此方法可對同一實體多次呼叫,以進行多項設定。 |
| Equals(Object) |
DbModelBuilder 用於將 CLR 類別映射到資料庫架構。 這種以程式碼為中心的實體資料模型(EDM)建構方法稱為「程式碼優先」。 |
| GetHashCode() |
DbModelBuilder 用於將 CLR 類別映射到資料庫架構。 這種以程式碼為中心的實體資料模型(EDM)建構方法稱為「程式碼優先」。 |
| GetType() |
取得目前實例的 Type。 |
| HasDefaultSchema(String) |
配置預設的資料庫結構名稱。 此預設資料庫結構名稱用於未明確設定結構名稱的資料庫物件。 |
| Ignore(IEnumerable<Type>) |
排除模型中指定的類型。 此方法用於從模型中移除在初始模型發現期間依慣例新增的型別。 |
| Ignore<T>() |
將某個類型從模型中排除。 此方法用於從模型中移除在初始模型發現期間依慣例新增的型別。 |
| Properties() |
開始配置適用於模型中所有屬性的輕量級慣例。 |
| Properties<T>() |
開始配置一套輕量級慣例,適用於模型中指定類型的所有原始屬性。 |
| RegisterEntityType(Type) |
將實體類型註冊為模型的一部分。 |
| ToString() |
DbModelBuilder 用於將 CLR 類別映射到資料庫架構。 這種以程式碼為中心的實體資料模型(EDM)建構方法稱為「程式碼優先」。 |
| Types() |
開始配置一套適用於模型中所有實體與複雜型態的輕量級約定。 |
| Types<T>() |
開始配置一套輕量級慣例,適用於模型中所有繼承或實作該類型所指定的類型與實體與複雜型別。 此方法不會將類型登錄為模型的一部分。 |