具有和不具有特定字段的数据序列化

时间:2013-03-25 17:10:51

标签: c# xml-serialization

我有一套简单的20多个课程。它们都是可序列化的,允许在Web服务中使用这些对象。 (DataContract / DataMember)每个属性都有一个ID和可变数量的其他属性,具体取决于类。
我有一个数据库,它只存储一个ID,一个标识该类的名称和一个XML字符串。此XML也是序列化形式的相同数据,但没有一个属性:不应存储ID字段,因为它是多余的。
但是ID仍然必须发送到Web服务的客户端,使事情变得有点复杂。虽然我可以创建每个类的副本,其中一个具有ID作为DataMember而另一个没有,我只是在寻找一个更清洁的解决方案来解决这个问题。我不需要将ID字段存储为数据库中XML的一部分 那么,问题:确保ID成为发送到客户端的数据的一部分的最简单的解决方案是什么,但是在将其存储为XML时会跳过? (无需在XML中进行黑客攻击即可将其删除。)

1 个答案:

答案 0 :(得分:1)

  

虽然我可以创建每个类的副本,但是有一个类   ID为DataMember,另一个不是

继承怎么样?

public class MyEntity
{
  // some props
}

public class MyEntityWithId : MyEntity
{
  public int Id { get; set; }
  // some props
}