如何:处理数据事件

通过编写在某些事件发生时运行的代码,您可以自定义您的应用程序。 例如,您可以编写在创建、访问、修改或删除表中的数据行时运行的代码。 您也可以编写代码以验证用户是否有修改数据源的权限。

您可以处理的事件,可分为六个类别:

  • 创建、删除或修改数据时使用的一般方法。

  • 创建、删除或修改数据时使用的访问控制方法。

  • 查询数据源时使用的查询方法。

  • 保存数据源以便使用的数据源方法。

  • 修改属性时使用的属性方法。

这些方法的介绍参见本主题末尾的表。

处理与数据相关的事件

  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

该查询无法执行时调用。 在服务器上运行。

执行的查询

仅在执行查询后调用。 如果查询不能执行,则不会调用此方法。 在服务器上运行。

查询正在执行

仅在执行查询前调用。 在服务器上运行。

<TableSetName>_Filter

该查询运行之前调用,允许其他查询自定义。 在服务器上运行。

数据源方法

说明

SaveChanges_ExecuteFailed

仅在无法保存数据源时调用。 在服务器上运行。

SaveChanges_Executed

在成功地将更改保存到数据源后立即调用。 在服务器上运行。

SaveChanges_Executing

在数据源中保存更改前立即调用。 在服务器上运行。

属性方法

<PropertyName>_Changed

在项的属性值发生更改后立即调用。 在属性发生更改的层上运行。

<PropertyName>_IsReadOnly

返回表示属性是否为只读的值。 在访问该属性的层上运行。

<PropertyName>_Validate

在验证属性时调用。 在验证属性的层上运行。

请参见

任务

如何:处理 Silverlight 屏幕事件

如何:处理查询事件

其他资源

数据:应用程序背后的信息