C# POCO EF嵌套类的WCF序列化?
我有个问题。我有一个WCF服务作为对实体框架的数据访问。我需要归还一些物品。这是我的第一个模型:C# POCO EF嵌套类的WCF序列化?,c#,wcf,entity-framework,service,C#,Wcf,Entity Framework,Service,我有个问题。我有一个WCF服务作为对实体框架的数据访问。我需要归还一些物品。这是我的第一个模型: [DataContract(IsReference = true)] public partial class Osoba { [DataMember] public int IdOsobe { get; set; } [DataMember] public string PrezimeOsobe { get; set; } [DataMember]
[DataContract(IsReference = true)]
public partial class Osoba
{
[DataMember]
public int IdOsobe { get; set; }
[DataMember]
public string PrezimeOsobe { get; set; }
[DataMember]
public string ImeOsobe { get; set; }
[DataMember]
public virtual Partner Partner { get; set; }
}
这是我的第二个模型:
[DataContract(IsReference = true)]
public partial class Partner
{
public Partner()
{
this.Dokument = new HashSet<Dokument>();
}
[DataMember]
public int IdPartnera { get; set; }
[DataMember]
public string OIB { get; set; }
[DataMember]
public int TipPartnera { get; set; }
[DataMember]
public Nullable<int> IdMjestaSjedista { get; set; }
[DataMember]
public string AdrSjedista { get; set; }
[DataMember]
public Nullable<int> IdMjestaIsporuke { get; set; }
[DataMember]
public string AdrIsporuke { get; set; }
[DataMember]
public virtual ICollection<Dokument> Dokument { get; set; }
[DataMember]
public virtual Mjesto Mjesto { get; set; }
[DataMember]
public virtual Mjesto Mjesto1 { get; set; }
[DataMember]
public virtual Osoba Osoba { get; set; }
[DataMember]
public virtual Tvrtka Tvrtka { get; set; }
}
[DataContract(IsReference=true)]
公共部分类伙伴
{
公共伙伴()
{
this.Dokument=new HashSet();
}
[数据成员]
public int IdPartnera{get;set;}
[数据成员]
公共字符串OIB{get;set;}
[数据成员]
公共int TipPartnera{get;set;}
[数据成员]
公共可空IDMJESTASEDISTA{get;set;}
[数据成员]
公共字符串adrsjedita{get;set;}
[数据成员]
公共可空IdMjestaIsporuke{get;set;}
[数据成员]
公共字符串AdrIsporuke{get;set;}
[数据成员]
公共虚拟ICollection Dokument{get;set;}
[数据成员]
公共虚拟Mjesto Mjesto{get;set;}
[数据成员]
公共虚拟Mjesto Mjesto1{get;set;}
[数据成员]
公共虚拟Osoba Osoba{get;set;}
[数据成员]
公共虚拟Tvrtka Tvrtka{get;set;}
}
当我的服务返回Osoba时,伙伴引用对象不会序列化。Partner=null。我做错了什么?我试过使用ServiceKnownType属性,什么都没有 我已经做到了。代理不是问题,因为我将其用于我的代理
问题是EF-context.Entry(e).State=EntityState.Detached中的一行代码。每个包含的实体实际上都是分离的。我对此发表了评论,一切正常。非常感谢大家您使用哪种序列化?默认WCF DataContractSerializer。我甚至为所有实体禁用了lazy laoding-无您如何加载Partner属性?您确定正在加载吗?在服务返回之前,一切都正常。我的服务中包含(p=>p.Partner)。我已经包括了我需要的东西。结果是好的,合作伙伴被加载,一切正常,直到返回。它实际上返回的是Partner property=null,而不是Partner property=null。也许代理类误导了数据协定序列化程序。在返回实体类之前,请尝试将它们显式地强制转换为实体类(
Osoba
对象和Partner
属性),并告诉我会发生什么。