[英]Adding serialization information for MongoDB custom serializer
我有一个定义如下的类:
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?
是的,您可以实现两个接口来提供序列化信息。 IBsonDocumentSerializer
和IBsonArraySerializer
。 在这种情况下,您将要在客户序列化IBsonDocumentSerializer
上实现IBsonDocumentSerializer
并处理memberName Id
的GetMemberSerializationInfo
调用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.