C# 除非第一个db查询不引用序列化对象成员,否则不应用约定

C# 除非第一个db查询不引用序列化对象成员,否则不应用约定,c#,mongodb,mongodb-.net-driver,C#,Mongodb,Mongodb .net Driver,使用mongodb C驱动程序,当我将约定包中的约定添加到约定注册表时,如果我的第一个数据库查询引用了受约定影响的序列化对象的成员,则约定无法正常工作 例如,如果在注册我的Camel CAME名称约定之后的第一个查询类似于myCollection.FindAll.ToList,那么这一切都很好 但是,如果我有一个对对象属性进行过滤的查询,然后我尝试像myCollection.FindmyQuery.ToList那样使用它,它就不起作用了,因为约定映射不正确,导致了错误。此外,从该点开始,它对该集

使用mongodb C驱动程序,当我将约定包中的约定添加到约定注册表时,如果我的第一个数据库查询引用了受约定影响的序列化对象的成员,则约定无法正常工作

例如,如果在注册我的Camel CAME名称约定之后的第一个查询类似于myCollection.FindAll.ToList,那么这一切都很好

但是,如果我有一个对对象属性进行过滤的查询,然后我尝试像myCollection.FindmyQuery.ToList那样使用它,它就不起作用了,因为约定映射不正确,导致了错误。此外,从该点开始,它对该集合对象不起作用


这应该是这样的吗?如果是这样的话,这是否意味着我需要在注册约定后对db进行虚拟查询,以便它遵守我注册的约定

我重新阅读了关于如何应用约定的文章,正如评论中指出的,这应该在应用程序启动中注册。我这样做了,大会的表现也如预期的那样。我仍然不完全理解它为什么会这样做,但我很满意:如果我连接正确,它就会正常工作。

在与MongoDB交谈之前,应该在应用程序启动时注册一次约定。你所描述的听起来很奇怪。为了进行诊断,我们需要一些可复制的代码片段。