DataContext 方法(在 Visual Studio 中的 LINQ to SQL 工具內容中)是指DataContext 類別的方法,用來在資料庫中執行預存程序和函式。
類別 DataContext 是 LINQ to SQL 類別,可作為 SQL Server 資料庫與對應至該資料庫的 LINQ to SQL 實體類別之間的管道。 類別包含 DataContext 連接字串資訊,以及連線到資料庫和操作資料庫中資料的方法。 根據預設,類別包含 DataContext 數個您可以呼叫的方法,例如 SubmitChanges 將更新的資料從 LINQ to SQL 類別傳送至資料庫的方法。 您也可以建立其他方法,將 DataContext 映射到儲存的程序和函式。 換句話說,呼叫這些自訂方法會在方法對應的 DataContext 資料庫中執行預存程序或函式。 您可以將新方法新增至DataContext類別,就如同擴充任何類別時新增方法一樣。 不過,在 O/R 設計工具的內容中討論方法時,所討論的是對應至預存程序和函數的DataContext方法。
方法窗格
DataContext對應至預存程序和函式的方法會顯示在 O/R 設計工具的 [方法] 窗格中。 [方法] 窗格是 實體] 窗格(主要設計介面)側邊的窗格。 [方法] 窗格會列出您使用 DataContext建立的所有方法。 根據預設, 「方法」 窗格是空的;將預存程序或函式從 [伺服器總管] 或 [資料庫總管] 拖曳到 O/R 設計工具 上,以建立 DataContext 方法並填入 [方法] 窗格。 如需詳細資訊,請參閱如何:建立對應至預存程序和函式的 DataContext 方法 (O/R 設計工具)。
備註
以滑鼠右鍵按一下 O/R 設計工具 ,然後按一下 [隱藏方法窗格 ] 或 [ 顯示方法窗格],或使用鍵盤快速鍵 CTRL+1,以開啟和關閉方法窗格。
兩種類型的 DataContext 方法
DataContext 方法是對應至資料庫中預存程序和函式的方法。 您可以在 O/R Designer 的 [方法] 窗格上建立和新增 DataContext 方法。 有兩種不同類型的 DataContext 方法:傳回一或多個結果集的方法,以及不傳回的方法:
DataContext 傳回一或多個結果集的方法:
當您的應用程式只需要在資料庫中執行預存程序和函式並傳回結果時,請建立這種 DataContext 方法。 如需詳細資訊,請參閱 如何:建立對應至預存程序和函式的 DataContext 方法 (O/R 設計工具)、System.Data.Linq.ISingleResult<T> 和 IMultipleResults。
DataContext 不傳回結果集的方法:例如特定實體類別的Inserts、Updates和Deletes。
當您的應用程式必須執行預存程序,而不是使用預設的 LINQ to SQL 行為來儲存實體類別與資料庫之間的修改資料時,請建立這種 DataContext 方法。 如需詳細資訊,請參閱如何:指派預存程序以執行更新、插入和刪除 (O/R 設計工具)。
DataContext 方法的回傳類型
當您將預存程序和函式從 [伺服器總管] 或 [資料庫總管] 拖曳到 O/R 設計工具時,所產生 DataContext 方法的傳回類型會因您放置項目的位置而有所不同。 將項目直接拖放到現有的實體類別上,會建立具有 DataContext 實體類別傳回類型的方法;將項目拖放到 O/R 設計工具 的空白區域 (在任一窗格中) 會建立傳 DataContext 回自動產生類型的方法。 自動產生的類型具有符合預存程序或函式名稱和屬性的名稱,這些名稱和屬性對應至預存程序或函式所傳回的欄位。
備註
您可以在將方法新增至方法窗格之後,變更方法的 DataContext 傳回類型。 若要檢查或變更方法的DataContext傳回類型,請選取它,然後檢查 [屬性] 視窗中的 [傳回類型] 屬性。 如需詳細資訊,請參閱如何:變更 DataContext 方法的傳回類型 (O/R 設計工具)。
您從資料庫拖曳到 O/R Designer 介面的物件會根據資料庫中物件的名稱自動命名。 如果您多次拖曳相同的物件,則會在新名稱的結尾新增一個數字,以區分名稱。 當資料庫物件名稱包含空格,或 Visual Basic 或 C# 不支援的字元時,空格或無效字元會取代為底線。