23

我正在将 mongDb 与 MongoDrive 一起使用,我想知道如何在我的所有类中实现[BsonIgnoreExtraElements].

我知道有办法通过ConventionProfile,但我不知道如何实现它。

4

1 回答 1

37

编辑

根据 Evereq 的评论,以下内容已过时。现在使用:

var conventionPack = new ConventionPack { new IgnoreExtraElementsConvention(true) };
ConventionRegistry.Register("IgnoreExtraElements", conventionPack, type => true);

使用SetIgnoreExtraElementsConvention方法(来自C# 驱动程序序列化教程的约定部分):

var myConventions = new ConventionProfile();
myConventions.SetIgnoreExtraElementsConvention(new AlwaysIgnoreExtraElementsConvention()));
BsonClassMap.RegisterConventions(myConventions, (type) => true);

参数(type) => true是一个取决于类类型的谓词,它决定是否应用约定。因此,根据您的要求,无论如何它都应该简单地返回 true;但是如果需要,您可以使用它来设置/排除给定类型的约定。

于 2012-10-17T22:57:54.720 回答