Ignorieren Sie die Null-Eigenschaft bei der Deserialisierung mit dem C#-MongoDB-Treiber
Posted: 16 Jan 2025, 09:54
Ich verwende den MongoDB C#-Treiber 3.1.0.
Ich weiß, wie man Null-Eigenschaften beim Serialisieren mithilfe der IgnoreIfNullConvention< ignoriert /code>, aber ich möchte beim Deserialisieren eine bestimmte Null-Eigenschaft ignorieren – gibt es eine Möglichkeit, dies zu tun?
Konkret: Ich erkläre es eine Eigenschaft in der Klasse wie:
Die Hoffnung ist, dass Property niemals null sein wird. Aber selbst wenn Property bereits einen Nullwert in MongoDB hat, deserialisiert der Treiber Property auf null und überschreibt die explizite Implementierung von new List( ).
Ich habe verschiedene Versionen davon ohne Erfolg ausprobiert:
Gibt es eine andere Möglichkeit, dies zu erreichen?
Ich weiß, wie man Null-Eigenschaften beim Serialisieren mithilfe der IgnoreIfNullConvention< ignoriert /code>, aber ich möchte beim Deserialisieren eine bestimmte Null-Eigenschaft ignorieren – gibt es eine Möglichkeit, dies zu tun?
Konkret: Ich erkläre es eine Eigenschaft in der Klasse wie:
Code: Select all
public class X
{
public ICollection Property { get; set; } = new List();
}
Ich habe verschiedene Versionen davon ohne Erfolg ausprobiert:
Code: Select all
BsonClassMap.RegisterClassMap(x =>
{
x.MapField(y => y.Property)
.SetIsRequired(true)
.SetDefaultValue(new List());
});