System.Data.Entity 命名空間

[此頁面專屬於 Entity Framework 第 6 版。最新版本可從 'Entity Framework' NuGet 套件取得。如需 Entity Framework 的詳細資訊,請參閱 msdn.com/data/ef。]

System.Data.Entity 命名空間包含的類別可提供 Entity Framework 核心功能的存取。

類別

  類別 描述
公用類別 CreateDatabaseIfNotExists<TContext> IDatabaseInitializer 的實作,只會在資料庫不存在時重新建立資料庫,並選擇性地重新植入資料庫。若要植入資料庫,請建立衍生類別並覆寫 Seed 方法。
公用類別 Database 此類別的執行個體是從 DbContext 物件取得,可用來管理支援 DbContext 或連接的實際資料庫。其中包括建立和刪除資料庫及檢查資料庫是否存在。請注意,只要使用此類別的靜態方法,透過連接 (亦即不需要完整內容) 就可以執行資料庫的刪除及檢查其是否存在。
公用類別 DbConfiguration 此類別的衍生類別可與衍生自 DbContext 的類別放入相同的組件中,用於定義應用程式的 Entity Framework 組態。組態設定方式是在衍生類型的建構函式中呼叫此類別受保護的方法並設定其受保護的屬性。所要使用的類型也可以登錄於應用程式的組態檔。如需 Entity Framework 組態的詳細資訊,請參閱 https://go.microsoft.com/fwlink/?LinkId=260883。
公用類別 DbConfigurationTypeAttribute 此屬性可置於 DbContext 的子類別,用於表示 DbConfiguration 的子類別 (其代表應用程式以程式碼為基礎的組態) 與內容類型位在不同的組件中。
公用類別 DbContext 一個 DbContext 執行個體,表示工作單位和儲存機制模式的組合,使其可用來從資料庫查詢並將變更群組在一起,然後這些變更會當做一個單位寫回存放區。DbContext 在概念上類似於 ObjectContext。
公用類別 DbContextTransaction 包裝基礎存放區連接的交易物件的存取,並確保 Entity Framework 會對該交易內容中的資料庫執行命令。經由呼叫 DbContextDatabase 物件的 BeginTransaction() 可擷取此類別的執行個體。
公用類別 DbFunctionAttribute 表示指定的方法是 EDM 函式的 Proxy。
公用類別 DbFunctions 提供公開 (Expose) EDM 標準函式以用於 DbContextObjectContext LINQ to Entities 查詢的 Common Language Runtime (CLR) 方法。
公用類別 DbModelBuilder DbModelBuilder 是用來將 CLR 類別對應到資料庫結構描述。這種以程式碼為中心的建立實體資料模型 (EDM) 方式稱為 'Code First'。
公用類別 DbModelBuilderVersionAttribute 此屬性可以套用至衍生自 DbContext 的類別,以便設定從程式碼建立模型 (又稱為 "Code First" 建立方式) 時,應該使用哪一個版本的 DbContext 和 DbModelBuilder 慣例。如需 DbModelBuilder 版本的詳細資訊,請參閱 DbModelBuilderVersion 列舉。
公用類別 DbSet 非泛型版本的 DbSet<TEntity>,在建置時不知道實體的類型時可以使用。
公用類別 DbSet<TEntity> DbSet 表示內容中所有實體的集合,或者可以從資料庫查詢具有給定類型的集合。DbSet 物件是使用 DbContext.Set 方法從 DbContext 所建立。
公用類別 DropCreateDatabaseAlways<TContext> IDatabaseInitializer 的實作,只要是初次在應用程式定義域中使用內容,就一定會重新建立資料庫,並選擇性地重新植入資料庫。若要植入資料庫,請建立衍生類別並覆寫 Seed 方法。
公用類別 DropCreateDatabaseIfModelChanges<TContext> IDatabaseInitializer 的實作,它只會在模型於資料庫建立後已變更時刪除及重新建立資料庫,並選擇性地重新植入資料庫。
公用類別 MigrateDatabaseToLatestVersion<TContext, TMigrationsConfiguration> 使用 Code First 移轉以將資料庫更新至最新版本之 IDatabaseInitializer<TContext> 的實作。
公用類別 NullDatabaseInitializer<TContext> IDatabaseInitializer<TContext> 無任何作用的實作。使用此初始設定式會停用給定內容類型的資料庫初始化。將此類別的執行個體傳遞至 SetInitializer<TContext>(IDatabaseInitializer<TContext>) 相當於傳遞 null。使用 IDbDependencyResolver 解析初始設定式時,必須使用此類別的執行個體以停用初始化。
公用類別 ObservableCollectionExtensions ObservableCollection<T> 的擴充方法。
公用類別 QueryableExtensions 提供實用的擴充方法,與 Entity Framework LINQ 查詢搭配使用。

介面

  介面 描述
公用介面 IDatabaseInitializer<TContext> 此介面的實作是在初次使用 DbContext 衍生類別的執行個體時用來初始化基礎資料庫。這項初始化作業可依條件建立資料庫及/或使用資料植入資料庫。其採用的策略是使用 Database 類別的靜態 InitializationStrategy 屬性所設定。提供的實作如下:DropCreateDatabaseIfModelChanges<TContext>DropCreateDatabaseAlways<TContext>CreateDatabaseIfNotExists<TContext>
公用介面 IDbSet<TEntity> IDbSet<TEntity> 表示內容中所有實體的集合,或者可以從資料庫查詢具有給定類型的集合。DbSet<TEntity> 是 IDbSet 的具象實作。

列舉型別

  列舉 描述
公用列舉類型 DbModelBuilderVersion 此列舉中的值可以直接提供給 DbModelBuilder 類別,或者可以在套用至從 DbContext 衍生之類別的 DbModelBuilderVersionAttribute 中使用。使用的值會定義從程式碼建立模型 (又稱為 "Code First" 建立方式) 時,應該使用哪一個版本的 DbContext 和 DbModelBuilder 慣例。
公用列舉類型 EntityState 描述實體的狀態。
公用列舉類型 TransactionalBehavior 控制在執行資料庫命令或查詢時的交易建立行為。