Lang verhaal kort:het draait allemaal om conventies. MongoDB .NET-stuurprogramma onthult statische klasse
Wat betekent dat
Hoe dit op te lossen?
U kunt de standaardconventies verwijderen
U laat echter automatisch alle andere driverconventies vallen, wat behoorlijk riskant is. Als alternatief kunt u een nep-eigenschap maken die altijd leeg zal zijn:
of je kunt gewoon
Dus de conventie zal uw ConventionRegistry
waarmee u uw eigen conventies kunt registreren (meer hier
). Daarnaast zijn er twee "ingebouwde" conventies __defaults__
en __attributes__
. Dieper graven (driver id
leden worden beschouwd als gewone BSON _id-elementen.ConventionRegistry.Remove("__defaults__");
public class SubServiceDef
{
[BsonElement("id")]
public int Id { get; set; }
[BsonId]
public ObjectId FakeId { get; set; }
}
BsonNoId
. gebruiken attribuut dat[BsonNoId]
public class SubServiceDef
{
[BsonElement("id")]
public int Id { get; set; }
}
id
instellen als IdMember in de klassenkaart, maar tijdens de nabewerking dwingt dit attribuut IdMember om null te zijn en wordt je klas met succes gedeserialiseerd