我有一个20+类的简单集合。它们都是可序列化的,以允许在Web服务中使用这些对象。 (DataContract/DataMember)每个人都有一个ID和一个可变数量的其他属性,具体取决于类别。
而且我有一个数据库,它将只存储一个ID,一个标识该类的名称和一个XML字符串。而且这个XML也是以序列化的形式存在的数据,但没有一个属性:ID字段不应该被存储,因为它是多余的。
但是,ID仍然必须发送到Web服务的客户端,使事情有点复杂。尽管我可以为每个类创建一个副本,其中一个的ID为DataMember,另一个没有,但我只是寻找一个更清晰的解决方案来解决此问题。我不需要在数据库中存储ID字段作为XML的一部分。
所以,问题:确保ID成为发送到客户端的数据的一部分的最简单的解决方案是什么,但是在将其存储为XML时跳过了数据? (不需要在XML黑客将其删除的。)带或不带特定字段的数据序列化
0
A
回答
1
副本虽然我可以只创建的每一个类,其中一个具有 ID作为数据成员和其他没有
遗传怎么样?
public class MyEntity
{
// some props
}
public class MyEntityWithId : MyEntity
{
public int Id { get; set; }
// some props
}
+0
继承会使类的数量增加一倍,这不是很理想。这也意味着我需要在这些类之间复制数据... – 2013-03-25 17:18:13
+0
虽然我完全同意类的数量,但第二个问题可以使用任何映射器(如Automapper)轻松解决。 – Dennis 2013-03-25 17:27:00
相关问题
- 1. 带图像的数据合同序列化/序列化
- 2. 带有数据合同的空字符串序列化
- 3. Wordpress搜索带自定义查询的序列化元数据
- 4. 带或不带指数
- 5. 显示带有或不带年份字段的DatePicker
- 6. JSON4S反序列化不带参数的名字
- 7. 带序列化的GWT
- 8. 带不变文化的双数据绑定列表
- 9. 带有自定义不可编辑值的数据库字段
- 10. 带有MarshalByRefObject字段的可序列化对象
- 11. 带有瞬态字段的Java序列化
- 12. 带有多对多模型的django drf序列化程序(带额外数据)
- 13. 带特殊字符数据的SQL Server
- 14. 带序列的XML序列化元素
- 15. 带有不可序列化部分的PHP序列化
- 16. 列表视图带或不带convertview == NULL
- 17. 生成9位数字ID不带数据库序列
- 18. 带数组参数的函数特化
- 19. 带序列化和数据数组的jQuery post()
- 20. Jackson将数组元素反序列化为特定字段
- 21. 带条件的数字序列
- 22. 一个月的数字表示法,带或不带前导零
- 23. R - 带ggplot2的时间序列数据
- 24. 带时间序列数据的iplots
- 25. 在字典中反序列化带有数组的JSON对象
- 26. onActivityResult不将数据带回片段
- 27. 带有文本数据的BLOB或标准化数据库?
- 28. .htaccess带或不带斜杠
- 29. 播放带或不带Flash的嵌入式YouTube视频,带或不带Javascript
- 30. Json.NET带有数据注释的枚举类型的自定义序列化
附加说明:我的Web客户端会根据它的ID和业务后会发现基于此ID的正确记录呼叫数据,将数据转换为指定类的适当对象和ID添加到该对象然后再发送回客户端。如果没有ID,我永远都不需要这个对象,但是我需要将它没有ID地存储在数据库中,因为它是多余的。 (而且这会让ID变得更难。) – 2013-03-25 17:20:51