如何:處理資料事件

您可以撰寫會在特定資料事件發生時執行的程式碼,以自訂您的應用程式。 例如,您可以撰寫會在建立、存取、修改或刪除資料表中的資料列時執行的程式碼。 您也可以撰寫程式碼來確認使用者具有修改資料來源的權限。

您可以處理的事件可分為六組類別:

  • 可在建立、刪除或修改資料時執行的一般方法。

  • 可在建立、刪除或修改資料時執行的存取控制方法。

  • 可在對資料來源進行查詢時執行的查詢方法。

  • 可在某個項目儲存到資料來源時執行的資料來源方法。

  • 可在修改屬性時執行的屬性方法。

本主題結尾的表格會列出這些方法的描述。

若要處理資料相關事件

  1. 在 [方案總管] 中,按兩下實體或資料表。

    該實體或資料表會在 [資料設計工具] 中開啟。

  2. 在 [資料設計工具] 中的命令列上,按一下 [撰寫程式碼] 按鈕旁邊的箭頭,然後選取您要覆寫的方法。 下列表格會列出可由應用程式處理的方法。

    注意事項注意事項

    只有當 [資料設計工具] 中選取了某個屬性時,[屬性方法] 才會顯示在 [撰寫程式碼] 下拉式清單中。

    [程式碼編輯器] 隨即開啟。

  3. 將游標放在剛建立的方法中,然後輸入要在事件發生時執行的程式碼。

資料相關事件的清單

下列表格列出可以由應用程式處理的資料事件:

一般方法

說明

<TableName>_AllowSaveWithErrors

表示當項目有驗證錯誤時是否應儲存項目。 如果項目發生驗證錯誤,預設會中止儲存作業。 在呼叫層上執行。

<TableName>_Created

在建立項目之後呼叫。 在建立項目的層上執行。

<TableSetName>_Deleted

在將項目從資料存放區中刪除之後呼叫。 在伺服器上執行。

<TableSetName>_Deleting

在將項目從資料存放區中刪除之前呼叫。 在伺服器上執行。

<TableSetName>_Inserted

在將項目插入資料存放區之後呼叫。 在伺服器上執行。

<TableSetName>_Inserting

在將項目插入資料存放區之前呼叫。 在伺服器上執行。

<TableSetName>_Updated

在更新資料存放區中的項目之後呼叫。 在伺服器上執行。

<TableSetName>_Updating

在更新資料存放區中的項目之前呼叫。 在伺服器上執行。

<TableSetName>_Validate

在伺服器上驗證項目時呼叫。

存取控制方法

說明

SaveChanges_CanExecute

在將變更儲存於資料來源之前呼叫,以檢查目前使用者的權限等級。在伺服器上執行。

<TableSetName>_CanDelete

在刪除項目之前呼叫,以檢查目前使用者的權限等級。 在伺服器上執行。

<TableSetName>_CanInsert

在插入項目之前呼叫,以檢查目前使用者的權限等級。 在伺服器上執行。

<TableSetName>_CanRead

在讀取項目之前呼叫,以檢查目前使用者的權限等級。 在伺服器上執行。

<TableSetName>_CanUpdate

在更新專案之前呼叫,以檢查目前使用者的權限等級。 在伺服器上執行。

查詢方法

說明

Query_ExecuteFailed

在查詢執行失敗後呼叫。 在伺服器上執行。

Query_Executed

在執行查詢之後立即呼叫。 如果查詢無法執行,就不會呼叫此方法。 在伺服器上執行。

Query_Executing

在正要執行查詢之前呼叫。 在伺服器上執行。

<TableSetName>_Filter

在查詢執行前呼叫,允許進行其他查詢自訂作業。 在伺服器上執行。

資料來源方法

說明

SaveChanges_ExecuteFailed

在無法儲存於資料來源之後立即呼叫。 在伺服器上執行。

SaveChanges_Executed

在成功儲存資料來源中的變更之後呼叫。 在伺服器上執行。

SaveChanges_Executing

在儲存資料來源中的變更之前呼叫。 在伺服器上執行。

屬性方法

<PropertyName>_Changed

在項目的屬性值剛變更之後呼叫。 在變更屬性的層上執行。

<PropertyName>_IsReadOnly

傳回屬性是否為唯讀。 在存取屬性的那一層上執行。

<PropertyName>_Validate

在驗證屬性時呼叫。 在驗證屬性的層上執行。

請參閱

工作

如何:處理 Silverlight 螢幕事件

如何:處理查詢事件

其他資源

資料:應用程式背後的資訊