[WCF] [IsReference = true]比较同一实例的对象

时间:2013-09-10 11:17:05

标签: c# wcf entity-framework equals

我正在开发一个WCF服务并使用实体框架(EF)将我的数据库建模为对象。

我还构建了自己的对象来扩展EF对象,以便提供自定义功能,而不是对EF模型进行任何更新的“人质”。

所以,问题是,想象两个具有相同父级的子级(即,父级具有相同的Id但在内存中不是同一个对象)。当我看到生成的SOAP消息时它没有使用IsReference属性,因为WCF无法意识到对象应该是相同的。

我试图重写Equals一个ReferenceEquals,但没有运气。

有什么建议吗?

祝你好运, jpsfs

示例:

    [DataContract(Name = "Parent", IsReference = true)]
    public sealed class Parent 
    {

        [DataMember(Name = "Id")]
        public int Id
        {
            get;
            set;
        }
     }

    [DataContract(Name = "Child")]
    public sealed class Child 
    {

        [DataMember(Name = "Id")]
        public int Id
        {
            get;
            set;
        }
        [DataMember(Name = "Parent")]
        public Parent Parent{
            get;
            set;
        }

     }

0 个答案:

没有答案