【发布时间】:2026-01-22 03:55:01
【问题描述】:
我正在做一个项目,我想通过网络服务从数据库中发送一个实体。
我将此作为我的数据合同。
[DataContract]
public class CreateAlumniRequest
{
[DataMember]
public List<Alum.Data.EmploymentHistory> lstEmploymentHistory;
}
但是,我不断收到此错误。
类型 'Alum.Data.Base.EmploymentHistoryBase' 不能序列化。考虑标记 它与 DataContractAttribute 属性,并标记其所有 您想要序列化的成员 DataMemberAttribute 属性。如果 type 是一个集合,考虑标记 它与 CollectionDataContractAttribute。
这告诉我我可能需要转到就业历史课程并将其标记为 DataContract。
问题是就业历史是由内部 ORM 工具生成的 - 我无法对其进行任何更改。
是否可以在类中不添加该属性的情况下序列化就业历史?
还有其他解决办法吗?我唯一能想到的就是在可序列化的类中重新创建就业历史并手动映射对象,这听起来像是很多重复。
【问题讨论】:
标签: .net wcf serialization orm code-generation