DbModelBuilder 類別
[此頁面專屬於 Entity Framework 第 6 版。最新版本可從 'Entity Framework' NuGet 套件取得。如需 Entity Framework 的詳細資訊,請參閱 msdn.com/data/ef。]
DbModelBuilder 是用來將 CLR 類別對應到資料庫結構描述。 這種以程式碼為中心的建立實體資料模型 (EDM) 方式稱為 'Code First'。
繼承階層
System.Object
System.Data.Entity.DbModelBuilder
命名空間: System.Data.Entity
組件: EntityFramework (在 EntityFramework.dll 中)
語法
'宣告
Public Class DbModelBuilder
'用途
Dim instance As DbModelBuilder
public class DbModelBuilder
public ref class DbModelBuilder
type DbModelBuilder = class end
public class DbModelBuilder
DbModelBuilder 類型會公開下列成員。
建構函式
名稱 | 描述 | |
---|---|---|
DbModelBuilder() | 初始化 DbModelBuilder 類別的新執行個體。探索初始模型的程序將會使用電腦上安裝之最新版 Entity Framework 所隨附的慣例集合。 | |
DbModelBuilder(DbModelBuilderVersion) | 初始化 DbModelBuilder 類別的新執行個體,其將會使用一組特定的慣例來探索初始模型。 |
靠上
屬性
名稱 | 描述 | |
---|---|---|
Configurations | 取得此 DbModelBuilder 的 ConfigurationRegistrar。登錄器允許向此產生器登錄衍生的實體和複雜類型組態。 | |
Conventions | 針對處理慣例的此 DbModelBuilder 設定提供存取權。 |
靠上
方法
名稱 | 描述 | |
---|---|---|
Build(DbConnection) | 根據使用此產生器所執行的組態建立 DbModel。此連接是用來判斷當做此用途的資料庫提供者是否會影響產生之模型的資料庫層級。 | |
Build(DbProviderInfo) | 根據使用此產生器所執行的組態建立 DbModel。必須指定提供者資訊,因為這會影響產生之模型的資料庫層級。如果是 SqlClient,非變異名稱為 'System.Data.SqlClient' 而且資訊清單語彙基元為版本年份 (例如 '2005'、'2008' 等)。 | |
ComplexType<TComplexType> | 註冊類型當做模型中的複雜類型,並傳回可用來設定複雜類型的物件。可針對相同的類型多次呼叫此方法,以執行多行組態。 | |
Entity<TEntityType> | 註冊實體類型當做模型的一部分,並傳回可用來設定實體的物件。可針對相同的實體多次呼叫此方法,以執行多行組態。 | |
Equals | 指定 DbModelBuilder 是否與指定的物件相等。 (覆寫 Object.Equals(Object)。) | |
Finalize | (繼承自 Object)。 | |
GetHashCode | 傳回目前執行個體的雜湊碼。 (覆寫 Object.GetHashCode()。) | |
GetType | 取得目前執行個體的 Type。 | |
HasDefaultSchema | 設定預設的資料庫結構描述名稱。此預設的資料庫結構描述名稱將供任何未明確設定結構描述名稱的資料庫物件使用。 | |
Ignore(IEnumerable<Type>) | 從模型中排除指定的類型。這是用來將先前於初始模型探索期間由慣例所加入的類型從模型中移除。 | |
Ignore<T>() | 從模型中排除類型。這是用來將先前於初始模型探索期間由慣例所加入的類型從模型中移除。 | |
MemberwiseClone | (繼承自 Object)。 | |
Properties() | 開始組態輕量型慣例以套用至模型中的所有屬性。 | |
Properties<T>() | 開始組態輕量型慣例以套用至模型中指定之類型的所有基本屬性。 | |
RegisterEntityType | 將實體類型登錄為模型的一部分。 | |
ToString | 傳回 DbModelBuilder 的字串表示法。 (覆寫 Object.ToString()。) | |
Types() | 開始組態輕量型慣例,以套用至模型中的所有實體和複雜類型。 | |
Types<T>() | 開始組態輕量型慣例,以套用至模型中衍生自或實作泛型引數指定的所有實體和複雜類型。此方法不會將類型註冊為模型的一部分。 |
靠上
備註
DbModelBuilder 通常是用於藉由覆寫 OnModelCreating(DbModelBuilder) 來設定模型。 您也可以使用與 DbContext 無關的 DbModelBuilder 建立模型,然後建構 DbContext 或 ObjectContext。 但是,建議的方法是在 DbContext 中使用 OnModelCreating 當做工作流程,這樣更為直覺而且會處理一般工作 (例如,快取建立的模型)。 形成模型的類型會向 DbModelBuilder 註冊,而且可以執行選擇性的組態,其方式是將資料註解套用到您的類別及/或使用 Fluent 樣式 DbModelBuilder 應用程式開發介面。 當呼叫 Build 方法時,便會執行一組慣例來探索初始模型。 這些慣例將會自動探索模型的各個層面 (例如主索引鍵),而且也會處理任何對類別指定的資料註解。 最後會套用之前使用 DbModelBuilder API 所執行的任何組態。 透過 DbModelBuilder 應用程式開發介面所執行的組態優先於資料註解,而資料註解又優先於預設慣例。
執行緒安全
這個類型的任何 Public static (在 Visual Basic 中為 Shared) 成員都是安全執行緒。並非所有的執行個體成員都是安全執行緒。