HOW TO:處理資料事件
您可撰寫自訂您的應用程式讓他會在特定資料事件發生時執行的程式碼。 例如,您可以撰寫會在建立、存取、修改或刪除資料表中的資料列時執行的程式碼。 您也可以撰寫程式碼來確認使用者具有修改資料來源的使用權限。
您可處理的事件可以分為六組類別:
在建立、刪除或修改資料時執行的一般方法。
在建立、刪除或修改資料時執行的存取控制方法。
在對資料來源進行查詢時執行的查詢方法。
某個項目已儲存到資料來源時執行的資料來源方法。
在修改屬性時執行的屬性方法。
本主題結尾的表格會列出這些方法的描述。
若要處理資料相關事件
在 [方案總管] 中,按兩下實體或資料表。
實體或資料表會在 [資料設計工具] 中開啟。
在 [資料設計工具] 中的命令列上,按一下 [撰寫程式碼] 按鈕旁邊的箭頭,然後選取您要覆寫的方法。 可由應用程式處理的方法顯示在下表中。
注意事項 如果在 [資料設計工具] 中選取屬性,則 [屬性方法] 只會在 [撰寫程式碼] 下拉式清單中出現。
[程式碼編輯器] 隨即開啟。
將游標放在剛建立的方法中,輸入要在事件發生時執行的程式碼。
資料相關事件的清單
下表列出可以由應用程式處理的資料事件:
一般方法 |
描述 |
---|---|
<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 |
在驗證屬性時呼叫。 在驗證屬性的層上執行。 |