我們使用MongoDb作爲緩存服務來緩存我們的Visual Studio解決方案中廣泛使用的TDO類。
MongoDB需要存儲對象上的_id字段,因此每個DTO類都必須具有_id屬性。
該要求公開了DTO上的具體實現。
我們如何克服它?在MongoDB中緩存DTO類
回答
爲了擴大@Rahul提供的答案,MongoDB C#驅動程序提供註釋[BsonElement("<name>")]
以幫助。
public class Entity
{
[BsonElement("_id")]
public string Id { get; set; }
}
public class DTO : Entity
{
[BsonElement("bd")]
public DateTime BusinessDate { get; set; }
// etc
}
這是迄今爲止最好的解決方案。 但是我們仍然需要繼續參考MongoDB彙編與DTO庫彙編,這是OO術語是實現泄漏。 –
是的,這是真的,MongoDB
要求事件實體(文檔)必須有一個_id
字段。因爲在你的情況下每一個實體(DTO)必須有ID字段中,您可以創建一個基本的實體,並把所有的DTO(具體的實體),從中獲得像
public class BaseDTO
{
public string _id {get; set;}
}
public class DTO1 : BaseDTO
{
// your specific implementation
}
可以以及考慮創建您的收藏相同作爲POCO結構。
您可以使用'[BsonElement(「_ id」)]'註釋該屬性,以允許更友好的命名爲'public string Id {get; set;}' – tawman
Grate solution @tawman。請在這裏寫下答案。 –
- 1. 在mongodb中緩存父類
- 2. 緩存模型(DTO)類供以後使用
- 3. 在PHP中緩存MongoDB對象
- 4. 在MongoDB中緩存部分文檔
- 5. 如何在MongoDB中實現緩存?
- 6. 在Django中緩存MongoDB連接
- 7. MongoDB緩存計數器
- 8. Mongodb聚合結果緩存
- 9. Doctrine MongoDB結果緩存
- 10. 如何緩存Mongodb查詢?
- 11. 類「內存緩存」中
- 12. 服務契約中的基類DTO或派生類DTO
- 13. 使用NodeJS在mongoDB中逐行緩存保存
- 14. php緩存類?
- 15. PHP緩存類
- 16. SystemSettings Rails中的類緩存
- 17. 如何在DTO中加載DTO?
- 18. 如何將mongodb中的數據保存到node.js緩存中?
- 19. DTO類與結構
- 20. Symfony2緩存包(類似於Zend緩存)
- 21. 緩存類型和應用緩存
- 22. 類型在緩存中沒有發現
- 23. 在ColdFusion中緩存的Java類
- 24. 在Byte Buddy中緩存生成的類?
- 25. 如何在android中創建緩存類?
- 26. Rails 3:如何在MongoDB中實現查詢緩存
- 27. 在Node.js/Express.js中從數據庫(MongoDB)緩存數組
- 28. 如何在MongoDB中緩存一些臨時數據?
- 29. 在Node.js中的Mongodb集合對象緩存
- 30. 在MongoDB中緩存重複查詢結果
從DTO創建業務對象。應用程序的其餘部分應使用業務對象。只有數據層應該使用DTO。 – itsme86