我正在开发一个项目,我想通过Web服务从数据库中发送一个实体。如何序列化生成的类?
我把这作为我的数据合同。
[DataContract]
public class CreateAlumniRequest
{
[DataMember]
public List<Alum.Data.EmploymentHistory> lstEmploymentHistory;
}
但是,我不断收到此错误。
类型 'Alum.Data.Base.EmploymentHistoryBase' 无法序列。请考虑使用DataContractAttribute 属性标记 ,并使用 DataMemberAttribute属性标记要与其序列化的所有成员 成员。如果 类型是一个集合,请考虑将其与 CollectionDataDataContractAttribute标记为 。
这告诉我我可能需要去EmploymentHistory类并将其标记为DataContract。
问题是EmploymentHistory是由一个内部ORM工具生成的 - 我无法真正对其进行任何更改。
是否有可能在不添加该属性的情况下序列化EmploymentHistory?
有没有其他解决方案?我能想到的唯一办法是在可序列化的类中重新创建EmploymentHistory并手动映射对象,这听起来像很多重复。
这可能是我必须要做的。我只是不喜欢这样一个事实,即如果EmploymentHistory发生变化,我将不得不记住重新映射变量。 – Diskdrive 2011-03-03 03:59:48