System.Data.Entity.Infrastructure 命名空間

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

System.Data.Entity.Infrastructure 命名空間包含可支援核心 Entity Framework 功能的類別。

類別

  類別 描述
公用類別 CommitFailedException 認可 DbTransaction 發生錯誤時擲回的例外狀況。
公用類別 CommitFailureHandler 表示交易處理常式會將交易追蹤資訊儲存在資料庫中,以便在交易認可期間發生連接失敗時,能夠順利復原資料。此交易處理常式必須使用 SetDefaultTransactionHandler(Func<TransactionHandler>) 註冊。
公用類別 DbChangeTracker DbContext 的 ChangeTracker 方法所傳回,可提供與實體變更追蹤有關之內容功能的存取。
公用類別 DbCollectionEntry 表示 DbCollectionEntry<TEntity, TElement> 類別的非泛型版本。
公用類別 DbCollectionEntry<TEntity, TElement> 此類別的執行個體會從 DbEntityEntry<TEntity> 的 Collection 方法傳回,並允許在實體的集合導覽屬性上執行類似載入的作業。
公用類別 DbCompiledModel 實體資料模型 (EDM) 的不可變表示法,可用來建立 ObjectContext 或者可以傳遞給 DbContext 的建構函式。為了提高效能,此類型的執行個體應該要快取,並重複加以使用來建構內容。
公用類別 DbComplexPropertyEntry DbComplexPropertyEntry<TEntity, TComplexProperty> 類別的非泛型版本。
公用類別 DbComplexPropertyEntry<TEntity, TComplexProperty> 此類別的執行個體會從 DbEntityEntry<TEntity> 的 ComplexProperty 方法傳回,並允許存取複雜屬性的狀態。
公用類別 DbConnectionInfo 表示資料庫連接的相關資訊。
公用類別 DbContextConfiguration DbContext 的 Configuration 方法所傳回,可為內容提供組態選項的存取。
公用類別 DbContextInfo 提供有關給定之 DbContext 類型的執行階段資訊。
公用類別 DbEntityEntry DbEntityEntry<TEntity> 類別的非泛型版本。
公用類別 DbEntityEntry<TEntity> 此類別的執行個體會提供有關 DbContext 所追蹤之實體的資訊存取權及控制權。請使用內容的 Entity 或 Entities 方法來取得此類型的物件。
公用類別 DbExecutionStrategy 針對不可靠的作業和暫時性條件提供重試機制的基本實作,其會在重試之間使用指數遞增延遲。
公用類別 DbMemberEntry 這是抽象基底類別,用來表示純量或複雜屬性或是實體的導覽屬性。純量和複雜屬性會使用衍生類別 DbPropertyEntry,參考導覽屬性會使用衍生類別 DbReferenceEntry,而集合導覽屬性會使用衍生類別 DbCollectionEntry
公用類別 DbMemberEntry<TEntity, TProperty> 這是抽象基底類別,用來表示純量或複雜屬性或是實體的導覽屬性。純量和複雜屬性會使用衍生類別 DbPropertyEntry<TEntity, TProperty>,參考導覽屬性會使用衍生類別 DbReferenceEntry<TEntity, TProperty>,而集合導覽屬性會使用衍生類別 DbCollectionEntry<TEntity, TElement>
公用類別 DbModel 表示 DbModelBuilder 建立的實體資料模型 (EDM)。Compile 方法可用來從此 EDM 表示法移到 DbCompiledModel,這是適合快取和建立 DbContextObjectContext 執行個體之模型的編譯快照集。
公用類別 DbPropertyEntry DbPropertyEntry<TEntity, TProperty> 類別的非泛型版本。
公用類別 DbPropertyEntry<TEntity, TProperty> 此類別的執行個體會從 DbEntityEntry<TEntity> 的 Property 方法傳回,並允許存取純量或複雜屬性的狀態。
公用類別 DbPropertyValues 基礎實體或複雜物件的所有屬性集合。
公用類別 DbProviderInfo 群組字串配對,這些字串可將提供者和伺服器版本識別至單一物件。
公用類別 DbQuery 表示針對 DbContext 的非泛型 LINQ to Entities 查詢。
公用類別 DbQuery<TResult> 表示針對 DbContext 的 LINQ to Entities 查詢。
公用類別 DbRawSqlQuery 表示非實體的 SQL 查詢,該查詢是從 DbContext 建立而且會使用該內容中的連接來執行。此類別的執行個體會從 Database 執行個體取得。建立此物件時不會執行此查詢,每當列舉此查詢時便會執行,例如,藉由使用 foreach。實體的 SQL 查詢會使用 SqlQuery(String, Object[]) 加以建立。請參閱 DbRawSqlQuery<TElement> 以取得此類別的泛型版本。
公用類別 DbRawSqlQuery<TElement> 表示非實體的 SQL 查詢,該查詢是從 DbContext 建立而且會使用該內容中的連接來執行。此類別的執行個體會從 Database 執行個體取得。建立此物件時不會執行此查詢,每當列舉此查詢時便會執行,例如,藉由使用 foreach。實體的 SQL 查詢會使用 SqlQuery(String, Object[]) 加以建立。請參閱 DbRawSqlQuery 以取得此類別的非泛型版本。
公用類別 DbReferenceEntry DbReferenceEntry<TEntity, TProperty> 類別的非泛型版本。
公用類別 DbReferenceEntry<TEntity, TProperty> 此類別的執行個體會從 DbEntityEntry<TEntity> 的 Reference 方法傳回,並允許在實體的參考導覽屬性上執行類似載入的作業。
公用類別 DbSqlQuery 表示實體的 SQL 查詢,該查詢是從 DbContext 建立而且會使用該內容中的連接來執行。此類別的執行個體會從實體類型的 DbSet 執行個體取得。建立此物件時不會執行此查詢,每當列舉此查詢時便會執行,例如,藉由使用 foreach。非實體的 SQL 查詢會使用 SqlQuery(Type, String, Object[]) 加以建立。請參閱 DbSqlQuery<TEntity> 以取得此類別的泛型版本。
公用類別 DbSqlQuery<TEntity> 表示實體的 SQL 查詢,該查詢是從 DbContext 建立而且會使用該內容中的連接來執行。此類別的執行個體會從實體類型的 DbSet<TEntity> 執行個體取得。建立此物件時不會執行此查詢,每當列舉此查詢時便會執行,例如,藉由使用 foreach。非實體的 SQL 查詢會使用 SqlQuery<TElement>(String, Object[]) 加以建立。請參閱 DbSqlQuery 以取得此類別的非泛型版本。
公用類別 DbUpdateConcurrencyException 當預期實體的 SaveChanges 會產生資料庫更新但實際上資料庫中沒有任何資料列受到影響時,DbContext 所擲回的例外狀況。這通常表示,資料庫已經並行更新,因此原本預期要符合的並行 Token 實際上並未符合。請注意,此例外狀況所參考的狀態項目並未序列化,因為安全性的緣故以及序列化之後狀態項目的存取將會傳回 null。
公用類別 DbUpdateException 儲存資料庫變更失敗時,DbContext 所擲回的例外狀況。請注意,此例外狀況所參考的狀態項目並未序列化,因為安全性的緣故以及序列化之後狀態項目的存取將會傳回 null。
公用類別 DefaultExecutionStrategy 表示失敗時不重試作業的預設 IDbExecutionStrategy
公用類別 DefaultManifestTokenResolver 表示 IManifestTokenResolver 的預設實作,其會使用基礎提供者取得資訊清單語彙基元。請避免使用多個查詢,因為此實作會根據 DbConnection 執行個體、DataSource 屬性和 Database 屬性的實際類型使用快取。
公用類別 EdmMetadata 已過時。 表示用來儲存有關資料庫內 EDM 之中繼資料的實體。
公用類別 EdmxWriter 包含用來存取 EDMX 表單中 Code First 所建立之實體資料模型的方法。當需要查看 Code First 在內部建立的模型時,這些方法通常會用來偵錯。
公用類別 ExecutionStrategyKey 用於解析 Func<TResult> 的索引鍵。它包含如連接字串中所指定的 ADO.NET 提供者非變異名稱和資料庫伺服器名稱。
公用類別 IncludeMetadataConvention 已過時。DbModelBuilder 慣例會使得 DbModelBuilder 在建立模型時包含有關此模型的中繼資料。當 DbContext 依照慣例建立模型時,它會將此慣例加入至 DbModelBuilder 所使用之慣例的清單。如果使用 DbContext 來建立資料庫,這會使得模型中繼資料寫入資料庫。然後這可用來做為快速檢查的方法,以查看上次針對資料庫使用此模型之後,此模型是否已變更。經由在衍生的 DbContext 類別上覆寫 OnModelCreating 方法,可以從 DbModelBuilder 慣例移除此慣例。
公用類別 LocalDbConnectionFactory 此類別的執行個體是用來根據給定的資料庫名稱或連接字串,針對 SQL Server LocalDb 建立 DbConnection 物件。
公用類別 ModelContainerConvention DbModelBuilder 慣例會使用衍生 DbContext 類別的名稱當做 Code First 所建置之概念模型的容器。
公用類別 ModelNamespaceConvention DbModelBuilder 慣例會使用衍生 DbContext 類別的命名空間當做 Code First 所建置之概念模型的命名空間。
公用類別 ObjectReferenceEqualityComparer 使用參考相等來比較物件。
公用類別 ReplacementDbQueryWrapper<TElement> 此類別的執行個體會在內部使用,以便為 ObjectQuery<T> 建立插入運算式樹狀架構中的常數運算式,來取代 DbQuery<TResult>DbQuery 的參考。
公用類別 RetryLimitExceededException 當重試動作在超出所設定的次數後再次失敗時,所擲回的例外狀況。
公用類別 SqlCeConnectionFactory 此類別的執行個體是用來根據給定的資料庫名稱或連接字串,針對 SQL Server Compact Edition 建立 DbConnection 物件。
公用類別 SqlConnectionFactory 此類別的執行個體是用來根據給定的資料庫名稱或連接字串,針對 SQL Server 建立 DbConnection 物件。預設會建立與 '.\SQLEXPRESS' 的連接。如果要變更此值,可以在建構 Factory 執行個體時變更基本連接字串。
公用類別 SuppressDbSetInitializationAttribute 此屬性 (Attribute) 可套用至整個衍生 DbContext 類別或是該類別上的個別 DbSet<TEntity>IDbSet<TEntity> 屬性 (Property)。當套用時,任何找出的 DbSet<TEntity>IDbSet<TEntity> 屬性仍然會包含在模型中,但是不會自動初始化。
公用類別 TableExistenceChecker 由 Entity Framework 提供者實作,並會用於檢查資料表是否存在於給定的資料庫中。資料庫初始設定式在決定是否要將現有資料庫視為空的,並進而建立資料表時,會使用此項目。
公用類別 TransactionContext 此類別是供 CommitFailureHandler 用來針對資料庫寫入和讀取交易追蹤資訊。若要自訂交易資料表的定義,您可以衍生自此類別並覆寫 OnModelCreating(DbModelBuilder)。衍生類別可以使用 DbConfiguration 註冊。
公用類別 TransactionHandler 表示處理交易作業之攔截器的基底類別。衍生類別可以使用 SetDefaultTransactionHandler(Func<TransactionHandler>)SetTransactionHandler(String, Func<TransactionHandler>, String) 註冊。
公用類別 TransactionRow 表示交易。
公用類別 UnintentionalCodeFirstException 當從 Database First 或 Model First 模式的 DbContext 範本產生內容然後將此內容用於 Code First 模式時,就會擲回。

介面

  介面 描述
公用介面 IDbAsyncEnumerable IEnumerable 介面的非同步版本,允許以非同步方式擷取項目。此介面是用於與 Entity Framework 查詢互動,並且不應該透過自訂類別實作。
公用介面 IDbAsyncEnumerable<T> IEnumerable<T> 介面的非同步版本,允許以非同步方式擷取可列舉序列的項目。此介面是用於與 Entity Framework 查詢互動,並且不應該透過自訂類別實作。
公用介面 IDbAsyncEnumerator IEnumerator 介面的非同步版本,允許以非同步方式擷取項目。此介面是用於與 Entity Framework 查詢互動,並且不應該透過自訂類別實作。
公用介面 IDbAsyncEnumerator<T> IEnumerator<T> 介面的非同步版本,允許以非同步方式擷取項目。此介面是用於與 Entity Framework 查詢互動,並且不應該透過自訂類別實作。
公用介面 IDbAsyncQueryProvider 定義方法來建立並非同步執行 IQueryable 物件所描述的查詢。此介面是用於與 Entity Framework 查詢互動,並且不應該透過自訂類別實作。
公用介面 IDbConnectionFactory 此介面的實作是用來根據給定的資料庫名稱,針對某一種類型的資料庫伺服器建立 DbConnection 物件。在 Database 類別上設定執行個體,好讓所有 DbContext 得以建立而不需要任何連接資訊,或是只需要資料庫名稱或連接字串,就可以在預設情況下使用某種類型的資料庫伺服器。提供此介面的兩個實作:SqlConnectionFactory 是用來建立與 Microsoft SQL Server 的連接 (包括 EXPRESS 版本)。SqlCeConnectionFactory 是用來建立與 Microsoft SQL Server Compact Edition 的連接。其他資料庫伺服器所適用的其他實作可視需要加入。請注意,實作應該具備執行緒安全或不可變,因為在同時間可能會有多個執行緒加以存取。
公用介面 IDbContextFactory<TContext> 用於建立衍生之 DbContext 執行個體的 Factory。請實作此介面,以便針對沒有公用預設建構函式的內容類型啟用設計階段服務。您可以建立設計階段的衍生 DbContext 執行個體,以便啟用特定的設計階段經驗,例如模型轉譯和 DDL 產生等等。若要針對沒有公用預設建構函式的衍生 DbContext 類型啟用設計階段具現化,請實作此介面。設計階段服務會自動探索與衍生之 DbContext 類型位於相同組件的介面實作。
公用介面 IDbExecutionStrategy 用來針對資料庫執行命令或查詢的策略,具有發生失敗時可以重試的邏輯。
公用介面 IDbModelCacheKey 表示可唯一識別已載入記憶體之 Entity Framework 模型的索引鍵值。
公用介面 IDbModelCacheKeyProvider 針對您的內容實作此介面,以使用自訂邏輯來計算用來查詢快取中已建立之模型的索引鍵。此介面可讓您擁有可在相同 AppDomain 中搭配不同模型使用的單一內容類型,或者擁有多個使用相同模型的內容類型。
公用介面 IDbProviderFactoryResolver 用於從指定 DbConnection 取得正確 DbProviderFactory 的服務。
公用介面 IManifestTokenResolver 在提供連接的情況下用來取得提供者資訊清單語彙基元的服務。預設會使用 DefaultManifestTokenResolver 類別,並利用基礎提供者取得通常涉及開啟連接的語彙基元。可以藉由將 IDbDependencyResolver 加入至可使用連接中的任何資訊傳回語彙基元的 DbConfiguration,而改為使用不同的實作。例如,如果已知連接是指向 SQL Server 2008 資料庫,則不需要開啟連接即可傳回「2008」。
公用介面 IMetadataAnnotationSerializer 實作此介面可讓 MetadataProperty 執行個體所表示的自訂註釋將序列化為 EDMX XML,反之亦然。通常您可以使用 SetMetadataAnnotationSerializer(String, Func<IMetadataAnnotationSerializer>) 方法設定序列化程式執行個體。
公用介面 IObjectContextAdapter 可以提供 ObjectContext 執行個體之物件所實作的介面。DbContext 類別會實作此介面,以提供基礎 ObjectContext 的存取。
公用介面 IProviderInvariantName DbProviderFactory 解析提供者非變異名稱時,由 IDbDependencyResolverDbConfiguration 所使用。

列舉型別

  列舉 描述
公用列舉類型 DbConnectionStringOrigin 描述與 DbContext 相關聯之資料庫連接字串的來源。