我有一個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. 如何使用Javassist定義帶參數化列表的字段
- 3. 數據庫:存儲帶或不帶散列的hashtag
- 4. Gson序列化null爲特定的類或字段
- 5. 帶有數據合同的空字符串序列化
- 6. Wordpress搜索帶自定義查詢的序列化元數據
- 7. 帶或不帶指數
- 8. 顯示帶有或不帶年份字段的DatePicker
- 9. JSON4S反序列化不帶參數的名字
- 10. 帶序列化的GWT
- 11. 帶不變文化的雙數據綁定列表
- 12. 帶有MarshalByRefObject字段的可序列化對象
- 13. 帶有瞬態字段的Java序列化
- 14. 帶有自定義不可編輯值的數據庫字段
- 15. 帶有多對多模型的django drf序列化程序(帶額外數據)
- 16. 帶特殊字符的散列函數?
- 17. 序列化不帶表格的值
- 18. 帶特殊字符數據的SQL Server
- 19. 帶序列的XML序列化元素
- 20. 帶有不可序列化部分的PHP序列化
- 21. 列表視圖帶或不帶convertview == NULL
- 22. 生成9位數字ID不帶數據庫序列
- 23. 帶不變文化的反序列化小數點
- 24. 帶數組參數的函數特化
- 25. 帶序列化和數據數組的jQuery post()
- 26. Postgresql - CrossTab或帶可變數字列的數據透視表
- 27. Jackson將數組元素反序列化爲特定字段
- 28. 帶條件的數字序列
- 29. 一個月的數字表示法,帶或不帶前導零
- 30. 帶rethinkdb的時間序列數據庫
附加說明:我的Web客戶端會根據它的ID和業務後會發現基於此ID的正確記錄呼叫數據,將數據轉換爲指定類的適當對象和ID添加到該對象然後再發送回客戶端。如果沒有ID,我永遠都不需要這個對象,但是我需要將它沒有ID地存儲在數據庫中,因爲它是多餘的。 (而且這會讓ID變得更難。) – 2013-03-25 17:20:51