我有一个自定义字段,我已经在shared.cs文件中添加到我的一个EF实体中,如下所示:
public partial class Content
{
public int Test = 5;
}
在客户端,同一个类的OnCreated处理程序如下所示:
partial void OnCreated()
{
this.Test = 42;
}
我已经为服务器上下文的SavingChanges事件添加了一个事件处理程序,如下所示:
partial void OnContextCreated()
{
this.SavingChanges += (sender, e) =>
{
foreach (object o in GetChangedEntities())
{
if (o is Content)
{
// Break to see what the value of Test is;
}
}
}
}
当我打破评论时(这不是我的代码注释:),Test的值总是为5.实际上,我似乎无法在客户端的任何地方将其设置为42并具有该值把它带到服务器。
我已经在所有地方设置了断点,并且客户端的值肯定设置为42。有什么东西我做错了,还是这种行为不受支持?顺便说一下,我也尝试过这个属性而不是字段 - 以防万一。
答案 0 :(得分:2)
我需要将我的属性/字段标记为[DataMember],如下所示:
public partial class Content
{
[DataMember]
public int Test = 5;
}
然后将其从shared.cs文件移到服务器项目中的CustomProperties.cs(或类似)文件,以避免多次延迟。现在它穿过电线就好了。