【发布时间】:2015-04-15 08:46:43
【问题描述】:
我有一个类定义如下:
class Person
{
public String Id { get; set; }
public String Name { get; set; }
public Person Mother { get; set; }
}
我已经为 Mother 属性实现了一个自定义序列化程序,以仅序列化 Id。最终的 BSON 看起来像这样:
[{
"_id": "54df1095fa0bd7122cb2c550",
"name": "John",
"mother": { "_id": "54df1095fa0bd7122cb2c551" }
}]
如果我尝试执行查询以查找具有给定母亲的人,如下所示:
var results = await collection.Find<Person> (p => p.Mother.Id == "...").ToListAsync ();
司机抱怨如下:
{"无法确定表达式的序列化信息:p.Mother.Id."}
有没有办法向驱动程序添加序列化信息,以便它知道调用我的自定义序列化程序来反序列化 Person 以进行此类查询?
【问题讨论】:
标签: c# serialization mongodb-.net-driver querying