如何在WCF数据服务中的SaveChanges之前捕获插入的数据
本文关键字:数据 插入 SaveChanges WCF 服务 | 更新日期: 2023-09-27 18:21:25
我有一个WCF数据服务,它可以访问我的一个表,如下所示:
public static void InitializeService(DataServiceConfiguration config)
{
// TODO: set rules to indicate which entity sets and service operations are visible, updatable, etc.
config.SetEntitySetAccessRule("Data", EntitySetRights.All);
}
我没有任何插入方法,客户端发送带有数据的post请求,数据服务完成插入(默认模式)。
不幸的是,传入的数据有一些数据类型错误,所以我应该在发生任何SaveChanges
之前捕获并更改。
我怎么能那样做?是否有任何方法可以覆盖以获取传入对象?
好吧,您可以使用ChangeInterceptor机制,添加以下代码:
[ChangeInterceptor("Data")]
public void OnChangeData(Data data, UpdateOperations updateOperation)
{
if (updateOperation == UpdateOperations.Add)
{
//do your job
}
}
不幸的是,现在已经太晚了,因为对象已经在这里反序列化了(我在反序列化阶段得到了异常)。