Entity framework 4 在EF4中,有没有一种方法可以让未映射的属性跨越导线?

Entity framework 4 在EF4中,有没有一种方法可以让未映射的属性跨越导线?,entity-framework-4,Entity Framework 4,我在shared.cs文件中添加了一个自定义字段,如下所示: public partial class Content { public int Test = 5; } 在客户端,该类的OnCreated处理程序如下所示: partial void OnCreated() { this.Test = 42; } partial void OnContextCreated() { this.SavingChanges += (sender, e) => {

我在shared.cs文件中添加了一个自定义字段,如下所示:

public partial class Content
{
    public int Test = 5;
}
在客户端,该类的OnCreated处理程序如下所示:

partial void OnCreated()
{
    this.Test = 42;
}
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;
            }
        }
    }
}
public partial class Content
{
    [DataMember]
    public int Test = 5;
}
我为服务器上的上下文向SavingChanges事件添加了一个事件处理程序,如下所示:

partial void OnCreated()
{
    this.Test = 42;
}
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;
            }
        }
    }
}
public partial class Content
{
    [DataMember]
    public int Test = 5;
}
当我在注释处中断时(这实际上不是我的代码:),Test的值总是5。事实上,我似乎无法在客户端的任何位置将其设置为42,并将该值发送到服务器


我已经在所有地方设置了断点,并且在客户端上该值肯定被设置为42。是我做错了什么,还是这种行为不受支持?顺便说一句,我也尝试将其作为属性而不是字段——以防万一。

我需要将我的属性/字段标记为[DataMember],如下所示:

partial void OnCreated()
{
    this.Test = 42;
}
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;
            }
        }
    }
}
public partial class Content
{
    [DataMember]
    public int Test = 5;
}
然后将其从shared.cs文件移到服务器项目中的CustomProperties.cs(或类似)文件中,以避免多次删除。现在它正好穿过电线