Has IBsonSerializationOptions been removed from the latest C# driver of MongoDB? -


i have following source code in c# project, can built mongocsharpdriver version 1.8.3. after have upgraded mongodb c# driver 2.0.1, compile fails error indicating ibsonserializationoptions , datetimeserializationoptions classes (interfaces) cannot found, , checked namespaces in assembly, , seems types removed latest version of mongodb c# driver.

public void apply(bsonmembermap membermap) {     ibsonserializationoptions options = null;     switch (membermap.memberinfo.membertype)     {        case membertypes.property:            propertyinfo propertyinfo = (propertyinfo)membermap.memberinfo;            if (propertyinfo.propertytype == typeof(datetime) ||                propertyinfo.propertytype == typeof(datetime?))                options = new datetimeserializationoptions(datetimekind.local);            break;        case membertypes.field:            fieldinfo fieldinfo = (fieldinfo)membermap.memberinfo;            if (fieldinfo.fieldtype == typeof(datetime) ||                fieldinfo.fieldtype == typeof(datetime?))                options = new datetimeserializationoptions(datetimekind.local);            break;        default:            break;    }    membermap.setserializationoptions(options); } 

my question is, equivalent of these types in latest version of mongodb c# driver?

in 2.0 version of c# driver serialization options have been removed , have become properties of serializers themselves. instead of setting serialization options, configure suitably configured serializer , use it.

an implementation of convention 2.0 version of driver this:

public class localdatetimeconvention : imembermapconvention {     public string name     {         { return "localdatetime"; }     }      public void apply(bsonmembermap membermap)     {         if (membermap.membertype == typeof(datetime))         {             var datetimeserializer = new datetimeserializer(datetimekind.local);             membermap.setserializer(datetimeserializer);         }         else if (membermap.membertype == typeof(datetime?))         {             var datetimeserializer = new datetimeserializer(datetimekind.local);             var nullabledatetimeserializer = new nullableserializer<datetime>(datetimeserializer);             membermap.setserializer(nullabledatetimeserializer);         }     } } 

Comments

Popular posts from this blog

Android : Making Listview full screen -

javascript - Parse JSON from the body of the POST -

javascript - Chrome Extension: Interacting with iframe embedded within popup -