sql >> Database teknologi >  >> NoSQL >> MongoDB

IdMemberMap er null ved hjælp af Repræsentationsserialiseringsindstillinger

Dette er grænseoverskridende at være en fejl i C#-driveren. Det viser sig, at IdMemberMap ikke er defineret, før klassekortet er "frosset", af årsager, der har at gøre med klassehierarkier, hvor Id'et faktisk kan være defineret i en basisklasse. En måde at omgå dette på er:

BsonClassMap.RegisterClassMap<Person>(cm => {
    cm.AutoMap();
    cm.Freeze();
    cm.IdMemberMap.SetRepresentation(BsonType.ObjectId);
});

En anden måde at omgå på er at bruge GetMemberMap i stedet for IdMemberMap:

BsonClassMap.RegisterClassMap<Person>(cm => {
    cm.AutoMap();
    cm.GetMemberMap(c => c.Id).SetRepresentation(BsonType.ObjectId);
});


  1. Bursts af RedisTimeoutException ved hjælp af StackExchange.Redis

  2. Mongodb hente samlinger af java driver

  3. hvordan man gemmer behandlede data fra hdfs ved hjælp af mapReduce i mongoDB som output

  4. Bedste model til at repræsentere mange til mange forhold med attributter i MongoDB