天天看點

MongoDB的C#官方驅動InvalidOperationException異常的解決辦法

有一個“文章”類,其中包含一個“List<段落>”類型的屬性,“段落”類是抽象類,其子類有“副标題段落”、“文本段落”、“圖像段落”、“附件段落”、“清單段落”等類型。

将“文章”類型的對象存入MongoDB資料庫完全沒問題,但是從資料庫取回則會引發這樣的異常:

[InvalidOperationException: 無法建立抽象類的執行個體。]

我沒有進行實測,因為同時我找到一個貌似更簡便的方法:

1.在段落類的頭部标注特性:

2.在執行個體化MongoClient之前聲明:

如此便可完美解決此問題。

除了這種包含抽象類型屬性的情況,對于一個集合中預設類型為抽象類型的情況也适用此解決方法。

接口未進行測試,印象中也會報同樣錯誤,猜想解決方法應該也是如此。

本文轉自斯克迪亞部落格園部落格,原文連結:http://www.cnblogs.com/SkyD/p/3960923.html,如需轉載請自行聯系原作者