我正在开发 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;
}
}