使用Mongo时,我应该在什么时候注册类地图?
我知道自动映射在大多数情况下都很好,但我有一个分层的类结构。
我应该在静态构造函数中还是在每次查询/插入之前注册类映射?
我想在每个查询/插入之前进行检查,但是mongo-csharp API不提供ClassMapExists()方法。
答案 0 :(得分:1)
当应用程序初始化时,类映射必须只注册一次。无论你在何处执行此操作(静态构造函数等),只要它只执行一次并在尝试任何序列化这些类之前完成。如果它是控制台应用程序,请在Main中进行初始化。如果它是一个Web应用程序,请在应用程序Load事件中进行初始化。
在v1.1中,驱动程序将有一个名为IsClassMapRegistered的新方法,但通常你可以找到一个不需要调用IsClassMapRegistered的初始化地点。如果你想尝试使用这个新方法,你可以从github获得最新的驱动程序开发版本。