我想從我的TestObject類設置ObjectId。唯一的問題是我不斷收到異常,我無法調試這個序列化過程。二進制不是ObjectIdSerializer的有效表示
我的MongoDB:
{
"_id" : LUUID("964c87a0-bf8a-1f4e-be85-7aadb5315adb")
}
在解析 'MongoDataSource' 數據源發生了一個錯誤:invaking數據檢索方法時發生錯誤。
--- ---的InnerException
反序列化類的TestObject的對象屬性時出現錯誤:無法從BsonType「二進制」反序列化「的ObjectId」。
--- ---的InnerException
不能反序列化 '的ObjectId' 從BsonType '二進制'。
[DataObject]
public class TestObject
{
[BsonId]
[BsonElement("_id")]
public ObjectId ObjectId { get; set; }
}
如果我讓一個BsonType.Binary而解決「MongoDataSource」數據源發生
一個錯誤:invaking數據檢索方法中出錯。
--- InnerException ---
異常已被調用的目標拋出。
--- ---的InnerException
二進制不是一個ObjectIdSerializer的有效表示。
[DataObject]
public class TestObject
{
[BsonId]
[BsonElement("_id")]
[BsonRepresentation(BsonType.Binary)]
public ObjectId ObjectId { get; set; }
}
也許不應該將其轉換爲ObjectId類型。換句話說,您正在對註釋和序列化程序進行更改,但您忘記更改類本身中的「類型」屬性。俗話說,有點像將一個方形釘塞入圓孔中。 –