語言

ObjectContext 類別

定義

ObjectContext 是頂層物件,封裝 CLR 與資料庫之間的連線,作為建立、讀取、更新與刪除操作的閘道。

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
public class ObjectContext : IDisposable, System.Data.Entity.Infrastructure.IObjectContextAdapter
type ObjectContext = class
    interface IDisposable
    interface IObjectContextAdapter
Public Class ObjectContext
Implements IDisposable, IObjectContextAdapter
繼承
ObjectContext
屬性
實作

建構函式

名稱 Description
ObjectContext(EntityConnection, Boolean)

建立一個包含該連線與元資料工作區的 ObjectContext。

ObjectContext(EntityConnection, String)

初始化一個新的類別實例 ObjectContext ,並以特定的連線和實體容器名稱。

ObjectContext(EntityConnection)

初始化一個新的類別實例 ObjectContext ,並以該連線。 建構過程中,元資料工作空間會從 EntityConnection 物件中擷取。

ObjectContext(String, String)

初始化一個新的 ObjectContext 類別實例,並以特定連接字串和實體容器名稱。

ObjectContext(String)

初始化一個新的 ObjectContext 類別實例,並使用給定的 連接字串 及預設實體容器名稱。

屬性

名稱 Description
CommandTimeout

取得或設定所有物件上下文操作的逾時值,單位為秒數。 空值表示將使用底層提供者的預設值。

Connection

取得物件上下文所使用的連線。

ContextOptions

取得 ObjectContextOptions 包含影響 行為 ObjectContext 的選項的實例。

DefaultContainerName

取得或設定預設容器名稱。

InterceptionContext

回傳 DbInterceptionContext 這個情境中所用的存在。

MetadataWorkspace

取得物件上下文所使用的元資料工作區。

ObjectStateManager

取得物件上下文用來追蹤物件變更的物件狀態管理器。

QueryProvider

取得與此物件上下文相關聯的 LINQ 查詢提供者。

TransactionHandler

取得此上下文中交易處理器。 若未啟動交易,則可能為空。

方法

名稱 Description
AcceptAllChanges()

接受物件上下文中對物件所做的所有變更。

AddObject(String, Object)

將物件加入物件上下文。

ApplyCurrentValues<TEntity>(String, TEntity)

將所提供物件的標量值複製到具有相同鍵的物件 ObjectContext 中。

ApplyOriginalValues<TEntity>(String, TEntity)

將所提供物件的標量值複製到具有相同鍵的物件 ObjectContext 的原始值集合中。

ApplyPropertyChanges(String, Object)
已淘汰.

將屬性變更從分離物件套用到已附加於物件上下文的物件。

Attach(IEntityWithKey)

當物件擁有實體鍵時,將物件或物件圖附加到物件上下文中。

AttachTo(String, Object)

將物件或物件圖附加到特定實體集合中的物件上下文。

CreateDatabase()

利用目前的資料來源連線及 . 中的元資料 StoreItemCollection 建立資料庫。

CreateDatabaseScript()

產生一個資料定義語言(DDL)腳本,為 中繼資料 StoreItemCollection 建立結構物件(表格、主鍵、外鍵)。 它 StoreItemCollection 會從儲存結構定義語言(SSDL)檔案載入元資料。

CreateEntityKey(String, Object)

為特定物件建立實體鍵,或如果實體鍵已存在則回傳該鍵。

CreateObject<T>()

建立並回傳請求型態的實例。

CreateObjectSet<TEntity>()

建立一個新 ObjectSet<TEntity> 實例,用於查詢、新增、修改及刪除指定實體類型的物件。

CreateObjectSet<TEntity>(String)

建立一個新 ObjectSet<TEntity> 實例,用於查詢、新增、修改及刪除指定類型且具有指定實體集合名稱的物件。

CreateProxyTypes(IEnumerable<Type>)

產生一個等價型別,可用於 Entity Framework 對所提供列舉中的每個型別。

CreateQuery<T>(String, ObjectParameter[])

在當前物件上下文中,使用指定的查詢字串建立 。ObjectQuery<T>

DatabaseExists()

檢查目前儲存連線中指定的資料庫是否存在於儲存裝置中。 大部分實際工作由目前儲存連線的 DbProviderServices 實作完成。

DeleteDatabase()

刪除目前資料來源連線中指定的資料庫。

DeleteObject(Object)

標記要刪除的物件。

Detach(Object)

從物件內容中移除物件。

DetectChanges()

確保 ObjectStateEntry 變更與所有被追蹤 ObjectStateManager 物件的變更同步。

Dispose()

釋放物件上下文所使用的資源。

Dispose(Boolean)

釋放物件上下文所使用的資源。

ExecuteFunction(String, ObjectParameter[])

執行在資料來源中定義並以概念模型表達的儲存程序或函式;捨棄函數返回的任何結果;並回傳受執行影響的列數。

ExecuteFunction<TElement>(String, ExecutionOptions, ObjectParameter[])

在預設容器上執行給定函式。

ExecuteFunction<TElement>(String, MergeOption, ObjectParameter[])

執行資料來源中定義並以概念模型表達的指定儲存程序或函式,並以指定參數及合併選項。 回傳一個打型的 ObjectResult<T> .

ExecuteFunction<TElement>(String, ObjectParameter[])

執行在資料來源中定義並在概念模型中映射的儲存程序或函式,並以指定的參數進行。 回傳一個打型的 ObjectResult<T> .

ExecuteStoreCommand(String, Object[])

直接對現有連線的資料來源執行任意指令。 此指令是使用伺服器原生查詢語言(如 SQL)來指定。

和任何接受 SQL 的 API 一樣,必須對使用者輸入進行參數化,以防止 SQL 注入攻擊。 你可以在 SQL 查詢字串中加入參數佔位符,然後以參數值作為額外參數。 你提供的任何參數值都會自動轉換成 DbParameter。 背景說明。ExecuteStoreCommand(“UPDATE dbo.貼文 SET 評分 = 5 其中作者 = @p0“, userSuppliedAuthor);或者,你也可以建構一個 DbParameter 並提供給 SqlQuery。 這讓你可以在 SQL 查詢字串中使用命名參數。 背景說明。ExecuteStoreCommand(“UPDATE dbo.貼文 SET 評分 = 5 其中作者 = @author“,新 SqlParameter(”@author“,userSuppliedAuthor));

ExecuteStoreCommand(TransactionalBehavior, String, Object[])

直接對現有連線的資料來源執行任意指令。 此指令是使用伺服器原生查詢語言(如 SQL)來指定。

和任何接受 SQL 的 API 一樣,必須對使用者輸入進行參數化,以防止 SQL 注入攻擊。 你可以在 SQL 查詢字串中加入參數佔位符,然後以參數值作為額外參數。 你提供的任何參數值都會自動轉換成 DbParameter。 背景說明。ExecuteStoreCommand(“UPDATE dbo.貼文 SET 評分 = 5 其中作者 = @p0“, userSuppliedAuthor);或者,你也可以建構一個 DbParameter 並提供給 SqlQuery。 這讓你可以在 SQL 查詢字串中使用命名參數。 背景說明。ExecuteStoreCommand(“UPDATE dbo.貼文 SET 評分 = 5 其中作者 = @author“,新 SqlParameter(”@author“,userSuppliedAuthor));

ExecuteStoreCommandAsync(String, CancellationToken, Object[])

非同步地直接對資料來源執行任意指令,利用現有連線。 此指令是使用伺服器原生查詢語言(如 SQL)來指定。

和任何接受 SQL 的 API 一樣,必須對使用者輸入進行參數化,以防止 SQL 注入攻擊。 你可以在 SQL 查詢字串中加入參數佔位符,然後以參數值作為額外參數。 你提供的任何參數值都會自動轉換成 DbParameter。 背景說明。ExecuteStoreCommandAsync(“UPDATE dbo.貼文 SET 評分 = 5 其中作者 = @p0“, userSuppliedAuthor);或者,你也可以建構一個 DbParameter 並提供給 SqlQuery。 這讓你可以在 SQL 查詢字串中使用命名參數。 背景說明。ExecuteStoreCommandAsync(“UPDATE dbo.貼文 SET 評分 = 5 其中作者 = @author“,新 SqlParameter(”@author“,userSuppliedAuthor));

ExecuteStoreCommandAsync(String, Object[])

非同步地直接對資料來源執行任意指令,利用現有連線。 此指令是使用伺服器原生查詢語言(如 SQL)來指定。

和任何接受 SQL 的 API 一樣,必須對使用者輸入進行參數化,以防止 SQL 注入攻擊。 你可以在 SQL 查詢字串中加入參數佔位符,然後以參數值作為額外參數。 你提供的任何參數值都會自動轉換成 DbParameter。 背景說明。ExecuteStoreCommandAsync(“UPDATE dbo.貼文 SET 評分 = 5 其中作者 = @p0“, userSuppliedAuthor);或者,你也可以建構一個 DbParameter 並提供給 SqlQuery。 這讓你可以在 SQL 查詢字串中使用命名參數。 背景說明。ExecuteStoreCommandAsync(“UPDATE dbo.貼文 SET 評分 = 5 其中作者 = @author“,新 SqlParameter(”@author“,userSuppliedAuthor));

ExecuteStoreCommandAsync(TransactionalBehavior, String, CancellationToken, Object[])

非同步地直接對資料來源執行任意指令,利用現有連線。 此指令是使用伺服器原生查詢語言(如 SQL)來指定。

和任何接受 SQL 的 API 一樣,必須對使用者輸入進行參數化,以防止 SQL 注入攻擊。 你可以在 SQL 查詢字串中加入參數佔位符,然後以參數值作為額外參數。 你提供的任何參數值都會自動轉換成 DbParameter。 背景說明。ExecuteStoreCommandAsync(“UPDATE dbo.貼文 SET 評分 = 5 其中作者 = @p0“, userSuppliedAuthor);或者,你也可以建構一個 DbParameter 並提供給 SqlQuery。 這讓你可以在 SQL 查詢字串中使用命名參數。 背景說明。ExecuteStoreCommandAsync(“UPDATE dbo.貼文 SET 評分 = 5 其中作者 = @author“,新 SqlParameter(”@author“,userSuppliedAuthor));

ExecuteStoreCommandAsync(TransactionalBehavior, String, Object[])

非同步地直接對資料來源執行任意指令,利用現有連線。 此指令是使用伺服器原生查詢語言(如 SQL)來指定。

和任何接受 SQL 的 API 一樣,必須對使用者輸入進行參數化,以防止 SQL 注入攻擊。 你可以在 SQL 查詢字串中加入參數佔位符,然後以參數值作為額外參數。 你提供的任何參數值都會自動轉換成 DbParameter。 背景說明。ExecuteStoreCommandAsync(“UPDATE dbo.貼文 SET 評分 = 5 其中作者 = @p0“, userSuppliedAuthor);或者,你也可以建構一個 DbParameter 並提供給 SqlQuery。 這讓你可以在 SQL 查詢字串中使用命名參數。 背景說明。ExecuteStoreCommandAsync(“UPDATE dbo.貼文 SET 評分 = 5 其中作者 = @author“,新 SqlParameter(”@author“,userSuppliedAuthor));

ExecuteStoreQuery<TElement>(String, ExecutionOptions, Object[])

直接對資料來源執行查詢,並回傳一連串有型別的結果。 查詢是使用伺服器原生查詢語言(如 SQL)來指定。 結果不會被上下文追蹤,請使用指定實體集合名稱的超載功能來追蹤結果。

和任何接受 SQL 的 API 一樣,必須對使用者輸入進行參數化,以防止 SQL 注入攻擊。 你可以在 SQL 查詢字串中加入參數佔位符,然後以參數值作為額外參數。 你提供的任何參數值都會自動轉換成 DbParameter。 背景說明。ExecuteStoreQuery<Post>(“SELECT * FROM dbo.文章 作者 = @p0“, userSuppliedAuthor);或者,你也可以建構一個 DbParameter 並提供給 SqlQuery。 這讓你可以在 SQL 查詢字串中使用命名參數。 背景說明。ExecuteStoreQuery<Post>(“SELECT * FROM dbo.貼文 WHERE Author = @author“, new SqlParameter(”@author“, userSuppliedAuthor));

ExecuteStoreQuery<TElement>(String, Object[])

直接對資料來源執行查詢,並回傳一連串有型別的結果。 查詢是使用伺服器原生查詢語言(如 SQL)來指定。 結果不會被上下文追蹤,請使用指定實體集合名稱的超載功能來追蹤結果。

和任何接受 SQL 的 API 一樣,必須對使用者輸入進行參數化,以防止 SQL 注入攻擊。 你可以在 SQL 查詢字串中加入參數佔位符,然後以參數值作為額外參數。 你提供的任何參數值都會自動轉換成 DbParameter。 背景說明。ExecuteStoreQuery<Post>(“SELECT * FROM dbo.文章 作者 = @p0“, userSuppliedAuthor);或者,你也可以建構一個 DbParameter 並提供給 SqlQuery。 這讓你可以在 SQL 查詢字串中使用命名參數。 背景說明。ExecuteStoreQuery<Post>(“SELECT * FROM dbo.貼文 WHERE Author = @author“, new SqlParameter(”@author“, userSuppliedAuthor));

ExecuteStoreQuery<TElement>(String, String, ExecutionOptions, Object[])

直接對資料來源執行查詢,並回傳一連串有型別的結果。 查詢是使用伺服器原生查詢語言(如 SQL)來指定。 若指定實體集合名稱,結果會依上下文追蹤。

和任何接受 SQL 的 API 一樣,必須對使用者輸入進行參數化,以防止 SQL 注入攻擊。 你可以在 SQL 查詢字串中加入參數佔位符,然後以參數值作為額外參數。 你提供的任何參數值都會自動轉換成 DbParameter。 背景說明。ExecuteStoreQuery<Post>(“SELECT * FROM dbo.文章 作者 = @p0“, userSuppliedAuthor);或者,你也可以建構一個 DbParameter 並提供給 SqlQuery。 這讓你可以在 SQL 查詢字串中使用命名參數。 背景說明。ExecuteStoreQuery<Post>(“SELECT * FROM dbo.貼文 WHERE Author = @author“, new SqlParameter(”@author“, userSuppliedAuthor));

ExecuteStoreQuery<TElement>(String, String, MergeOption, Object[])

直接對資料來源執行查詢,並回傳一連串有型別的結果。 查詢是使用伺服器原生查詢語言(如 SQL)來指定。 若指定實體集合名稱,結果會依上下文追蹤。

和任何接受 SQL 的 API 一樣,必須對使用者輸入進行參數化,以防止 SQL 注入攻擊。 你可以在 SQL 查詢字串中加入參數佔位符,然後以參數值作為額外參數。 你提供的任何參數值都會自動轉換成 DbParameter。 背景說明。ExecuteStoreQuery<Post>(“SELECT * FROM dbo.文章 作者 = @p0“, userSuppliedAuthor);或者,你也可以建構一個 DbParameter 並提供給 SqlQuery。 這讓你可以在 SQL 查詢字串中使用命名參數。 背景說明。ExecuteStoreQuery<Post>(“SELECT * FROM dbo.貼文 WHERE Author = @author“, new SqlParameter(”@author“, userSuppliedAuthor));

ExecuteStoreQueryAsync<TElement>(String, CancellationToken, Object[])

非同步直接對資料來源執行查詢,並回傳一連串已打型的結果。 查詢是使用伺服器原生查詢語言(如 SQL)來指定。 結果不會被上下文追蹤,請使用指定實體集合名稱的超載功能來追蹤結果。

和任何接受 SQL 的 API 一樣,必須對使用者輸入進行參數化,以防止 SQL 注入攻擊。 你可以在 SQL 查詢字串中加入參數佔位符,然後以參數值作為額外參數。 你提供的任何參數值都會自動轉換成 DbParameter。 背景說明。ExecuteStoreQueryAsync<Post>(“SELECT * FROM dbo.文章 作者 = @p0“, userSuppliedAuthor);或者,你也可以建構一個 DbParameter 並提供給 SqlQuery。 這讓你可以在 SQL 查詢字串中使用命名參數。 背景說明。ExecuteStoreQueryAsync<Post>(“SELECT * FROM dbo.貼文 WHERE Author = @author“, new SqlParameter(”@author“, userSuppliedAuthor));

ExecuteStoreQueryAsync<TElement>(String, ExecutionOptions, CancellationToken, Object[])

非同步直接對資料來源執行查詢,並回傳一連串已打型的結果。 查詢是使用伺服器原生查詢語言(如 SQL)來指定。 結果不會被上下文追蹤,請使用指定實體集合名稱的超載功能來追蹤結果。

和任何接受 SQL 的 API 一樣,必須對使用者輸入進行參數化,以防止 SQL 注入攻擊。 你可以在 SQL 查詢字串中加入參數佔位符,然後以參數值作為額外參數。 你提供的任何參數值都會自動轉換成 DbParameter。 背景說明。ExecuteStoreQueryAsync<Post>(“SELECT * FROM dbo.文章 作者 = @p0“, userSuppliedAuthor);或者,你也可以建構一個 DbParameter 並提供給 SqlQuery。 這讓你可以在 SQL 查詢字串中使用命名參數。 背景說明。ExecuteStoreQueryAsync<Post>(“SELECT * FROM dbo.貼文 WHERE Author = @author“, new SqlParameter(”@author“, userSuppliedAuthor));

ExecuteStoreQueryAsync<TElement>(String, ExecutionOptions, Object[])

非同步直接對資料來源執行查詢,並回傳一連串已打型的結果。 查詢是使用伺服器原生查詢語言(如 SQL)來指定。 結果不會被上下文追蹤,請使用指定實體集合名稱的超載功能來追蹤結果。

和任何接受 SQL 的 API 一樣,必須對使用者輸入進行參數化,以防止 SQL 注入攻擊。 你可以在 SQL 查詢字串中加入參數佔位符,然後以參數值作為額外參數。 你提供的任何參數值都會自動轉換成 DbParameter。 背景說明。ExecuteStoreQueryAsync<Post>(“SELECT * FROM dbo.文章 作者 = @p0“, userSuppliedAuthor);或者,你也可以建構一個 DbParameter 並提供給 SqlQuery。 這讓你可以在 SQL 查詢字串中使用命名參數。 背景說明。ExecuteStoreQueryAsync<Post>(“SELECT * FROM dbo.貼文 WHERE Author = @author“, new SqlParameter(”@author“, userSuppliedAuthor));

ExecuteStoreQueryAsync<TElement>(String, Object[])

非同步直接對資料來源執行查詢,並回傳一連串已打型的結果。 查詢是使用伺服器原生查詢語言(如 SQL)來指定。 結果不會被上下文追蹤,請使用指定實體集合名稱的超載功能來追蹤結果。

和任何接受 SQL 的 API 一樣,必須對使用者輸入進行參數化,以防止 SQL 注入攻擊。 你可以在 SQL 查詢字串中加入參數佔位符,然後以參數值作為額外參數。 你提供的任何參數值都會自動轉換成 DbParameter。 背景說明。ExecuteStoreQueryAsync<Post>(“SELECT * FROM dbo.文章 作者 = @p0“, userSuppliedAuthor);或者,你也可以建構一個 DbParameter 並提供給 SqlQuery。 這讓你可以在 SQL 查詢字串中使用命名參數。 背景說明。ExecuteStoreQueryAsync<Post>(“SELECT * FROM dbo.貼文 WHERE Author = @author“, new SqlParameter(”@author“, userSuppliedAuthor));

ExecuteStoreQueryAsync<TElement>(String, String, ExecutionOptions, CancellationToken, Object[])

非同步直接對資料來源執行查詢,並回傳一連串已打型的結果。 查詢是使用伺服器原生查詢語言(如 SQL)來指定。 若指定實體集合名稱,結果會依上下文追蹤。

和任何接受 SQL 的 API 一樣,必須對使用者輸入進行參數化,以防止 SQL 注入攻擊。 你可以在 SQL 查詢字串中加入參數佔位符,然後以參數值作為額外參數。 你提供的任何參數值都會自動轉換成 DbParameter。 背景說明。ExecuteStoreQueryAsync<Post>(“SELECT * FROM dbo.文章 作者 = @p0“, userSuppliedAuthor);或者,你也可以建構一個 DbParameter 並提供給 SqlQuery。 這讓你可以在 SQL 查詢字串中使用命名參數。 背景說明。ExecuteStoreQueryAsync<Post>(“SELECT * FROM dbo.貼文 WHERE Author = @author“, new SqlParameter(”@author“, userSuppliedAuthor));

ExecuteStoreQueryAsync<TElement>(String, String, ExecutionOptions, Object[])

非同步直接對資料來源執行查詢,並回傳一連串已打型的結果。 查詢是使用伺服器原生查詢語言(如 SQL)來指定。 若指定實體集合名稱,結果會依上下文追蹤。

和任何接受 SQL 的 API 一樣,必須對使用者輸入進行參數化,以防止 SQL 注入攻擊。 你可以在 SQL 查詢字串中加入參數佔位符,然後以參數值作為額外參數。 你提供的任何參數值都會自動轉換成 DbParameter。 背景說明。ExecuteStoreQueryAsync<Post>(“SELECT * FROM dbo.文章 作者 = @p0“, userSuppliedAuthor);或者,你也可以建構一個 DbParameter 並提供給 SqlQuery。 這讓你可以在 SQL 查詢字串中使用命名參數。 背景說明。ExecuteStoreQueryAsync<Post>(“SELECT * FROM dbo.貼文 WHERE Author = @author“, new SqlParameter(”@author“, userSuppliedAuthor));

Finalize()

完成類別的實例 ObjectContext 。

GetKnownProxyTypes()

回傳所有現有的代理類型。

GetObjectByKey(EntityKey)

回傳一個具有指定實體鍵的物件。

GetObjectType(Type)

回傳與指定類型代理物件相關聯的 POCO 實體的實體類型。

LoadProperty(Object, String, MergeOption)

明確載入一個物件,該物件透過指定的導覽屬性與所提供物件相關,並使用指定的合併選項。

LoadProperty(Object, String)

透過指定的導航屬性,並使用預設合併選項,明確載入與所提供物件相關的物件。

LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>, MergeOption)

透過指定的 LINQ 查詢及指定的合併選項,明確載入與所提供物件相關的物件。

LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>)

透過指定的 LINQ 查詢及預設合併選項,明確載入與所提供物件相關的物件。

Refresh(RefreshMode, IEnumerable)

用資料庫資料更新物件上下文中的一組物件。

Refresh(RefreshMode, Object)

用資料庫資料更新物件上下文中的物件。

RefreshAsync(RefreshMode, IEnumerable, CancellationToken)

非同步地用資料庫資料更新物件上下文中的一組物件。

RefreshAsync(RefreshMode, IEnumerable)

非同步地用資料庫資料更新物件上下文中的一組物件。

RefreshAsync(RefreshMode, Object, CancellationToken)

非同步地用資料庫資料更新物件上下文中的物件。

RefreshAsync(RefreshMode, Object)

非同步地用資料庫資料更新物件上下文中的物件。

SaveChanges()

會持久化所有資料庫更新,並在物件上下文中重置變更追蹤。

SaveChanges(Boolean)
已淘汰.

會持久化所有資料庫更新,並可選擇性地在物件上下文中重置變更追蹤。

SaveChanges(SaveOptions)

會持久化所有資料庫更新,並可選擇性地在物件上下文中重置變更追蹤。

SaveChangesAsync()

非同步持久化資料庫的所有更新,並在物件上下文中重置變更追蹤。

SaveChangesAsync(CancellationToken)

非同步持久化資料庫的所有更新,並在物件上下文中重置變更追蹤。

SaveChangesAsync(SaveOptions, CancellationToken)

非同步持久化資料庫的所有更新,並可選擇性地在物件上下文中重置變更追蹤。

SaveChangesAsync(SaveOptions)

非同步持久化資料庫的所有更新,並可選擇性地在物件上下文中重置變更追蹤。

Translate<TElement>(DbDataReader)

將包含實體資料列的 a DbDataReader 轉譯為請求實體類型的物件。

Translate<TEntity>(DbDataReader, String, MergeOption)

將包含實體資料列的 a DbDataReader 轉換成請求實體類型的物件,包含特定實體集合,並具備指定的合併選項。

TryGetObjectByKey(EntityKey, Object)

回傳一個具有指定實體鍵的物件。

事件

名稱 Description
ObjectMaterialized

當查詢或載入操作中,從資料來源資料建立新的實體物件時,會發生這種情況。

SavingChanges

當變更被儲存到資料來源時發生。

明確介面實作

名稱 Description
IObjectContextAdapter.ObjectContext

回歸。 ObjectContext 實作 IObjectContextAdapter 提供 和 ObjectContext 的共用介面 DbContext ,兩者都會回傳底層的 ObjectContext。

適用於