方法: データ イベントを処理する
特定のデータ イベントの発生時に実行されるコードを記述して、アプリケーションをカスタマイズできます。 たとえば、テーブル内のデータ行を作成、アクセス、変更、または削除したときに実行されるコードを記述できます。 ユーザーがデータ ソースを変更するアクセス許可を持っていることを確認するコードを記述することもできます。
処理できるイベントは、6 つに分類することができます。
データを作成、削除、または変更するときに実行する全般メソッド。
データを作成、削除、または変更するときに実行するアクセス制御メソッド。
データ ソースをクエリするときに実行されるクエリ メソッド。
データ ソースを保存するときに実行されるデータ ソース メソッド。
プロパティが変更されたときに実行されるプロパティのメソッド。
これらのメソッドの説明は、このトピックの最後のテーブルに表示されます。
データ関連のイベントを処理するには
ソリューション エクスプローラーで、エンティティまたはテーブルをダブルクリックします。
エンティティまたはテーブルがデータ デザイナーで開きます。
データ デザイナーのコマンド バーで、[コードの記述] ボタンの横にある矢印をクリックし、オーバーライドするメソッドを選択します。 アプリケーションで処理できるメソッドを以下の表に表示します。
注意
プロパティ メソッドは、データ デザイナーで選択されている場合にのみ、[コードの記述] ドロップダウン リストに表示されます。
コード エディターが開きます。
作成したメソッドにカーソルを置き、イベントの発生時に実行するコードを入力します。
データ関連のイベントの一覧
次のテーブルでは、アプリケーションで処理できるデータのイベントを示します。
一般的なメソッド |
説明 |
---|---|
<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 |
プロパティが検証されるときに呼び出されます。 プロパティが検証される層で実行されます。 |