我有一个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);
}
我没有任何插入方法,客户端发送带有数据的发布请求,数据服务完成插入(默认模式)。
不幸的是,传入的数据有一些数据类型错误,因此我应该捕获它并在发生任何SaveChanges
之前更改。
我怎么能这样做?是否有任何方法可以覆盖来获取传入的对象?
答案 0 :(得分:0)
好吧,您可以使用ChangeInterceptor机制,添加以下代码:
[ChangeInterceptor("Data")]
public void OnChangeData(Data data, UpdateOperations updateOperation)
{
if (updateOperation == UpdateOperations.Add)
{
//do your job
}
}
对我来说不幸的是,为时已晚,因为此处的对象被反序列化(我在反序列化阶段得到了异常)。