MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Attribut BsonElement et logique de désérialisation personnalisée avec le pilote MongoDB C#

Pourquoi ne pas créer une propriété séparée pour les utilisateurs et pour la base de données pour la même variable privée, quelque chose comme ça,

public class Foo
{
    private string _text;

    [BsonElement("text"), BsonRequired]
    public string TextDB
    {
        get { return _text; }
        set
        {
            _text = value;
        }
    }

    [BsonIgnore]
    public string Text
    {
        get { return _text; }
        set
        {
            _text = value;
            Bar(_text);
        }
    }

    private void Bar(string text)
    {
        //Only relevant when Text is set by the user of the class,
        //not during deserialization
    }
}