Как сохранить приватное поле с LiteDB - PullRequest
0 голосов
/ 25 июня 2019

Есть ли атрибут для частных свойств, которые будут храниться с движком LiteDB?

Я хочу сохранить это свойство в базе данных LiteDB

private string SomeGoodPropertyName { get; set; }

Естьсуществует полная противоположность атрибуту [BsonIgnore] (например, "[BsonInclude]"), который включает в себя приватные поля в процессе хранения?

Я пытался просто установить атрибут [BsonField], но это не помогло, и я посмотрел на Mappers, но, насколько я вижу, все они полагаются на то, что поле является публичным.

Вот пример того, почему я хотел бы сделать это: У меня есть следующий класс:

public class Authenticator {
    private string AuthenticationString { get; set; }
    private CashRegisterType ActiveCashRegisterType { get; set; }
    public void SetAuthenticationString(string authString, CashRegisterType type)
    {
       //Perform some validation
       ...

       AuthenticationString = authString;
       ActiveCashRegisterType = type;
    }

    public string GetAuthenticatorString(CashRegisterType type){
       //Validate request -> returns null if validation failed
       ...

       return AuthenticationString;
    }
}

Этот объект теперь должен храниться в базе данных (как дочерний объект другого документа).Я не хочу, чтобы эти два свойства были общедоступными, потому что мне нужно выполнить проверку перед установкой и получением, но я хочу сохранить данные на диске.

...