A reimplementation of Akavache using the SQLite framework by Frank Krueger.
ReactiveMarbles.CacheDatabase.EncryptedSqlite3
 
ReactiveMarbles.CacheDatabase.Sqlite3
 
A settings database for use with installable applications to provide persistent settings which are located one level down from the application folder making updates less painfull.
public class ViewSettings : SettingsBase
{
    /// <summary>
    /// Initializes a new instance of the <see cref="ViewSettings"/> class.
    /// </summary>
    public ViewSettings()
        : base(nameof(ViewSettings))
    {
    }
    /// <summary>
    /// Gets or sets a value indicating whether [bool test].
    /// </summary>
    /// <value>
    ///   <c>true</c> if [bool test]; otherwise, <c>false</c>.
    /// </value>
    public bool BoolTest
    {
        get => GetOrCreate(true); set => SetOrCreate(value);
    }
    /// <summary>
    /// Gets or sets the byte test.
    /// </summary>
    /// <value>
    /// The byte test.
    /// </value>
    public byte ByteTest
    {
        get => GetOrCreate((byte)123); set => SetOrCreate(value);
    }
    /// <summary>
    /// Gets or sets the short test.
    /// </summary>
    /// <value>
    /// The short test.
    /// </value>
    public short ShortTest
    {
        get => GetOrCreate((short)16); set => SetOrCreate(value);
    }
    /// <summary>
    /// Gets or sets the int test.
    /// </summary>
    /// <value>
    /// The int test.
    /// </value>
    public int IntTest
    {
        get => GetOrCreate(1); set => SetOrCreate(value);
    }
    /// <summary>
    /// Gets or sets the long test.
    /// </summary>
    /// <value>
    /// The long test.
    /// </value>
    public long LongTest
    {
        get => GetOrCreate(123456); set => SetOrCreate(value);
    }
    /// <summary>
    /// Gets or sets the string test.
    /// </summary>
    /// <value>
    /// The string test.
    /// </value>
    public string? StringTest
    {
        get => GetOrCreate("TestString"); set => SetOrCreate(value);
    }
    /// <summary>
    /// Gets or sets the float test.
    /// </summary>
    /// <value>
    /// The float test.
    /// </value>
    public float FloatTest
    {
        get => GetOrCreate(2.2f); set => SetOrCreate(value);
    }
    /// <summary>
    /// Gets or sets the double test.
    /// </summary>
    /// <value>
    /// The double test.
    /// </value>
    public double DoubleTest
    {
        get => GetOrCreate(23.8d); set => SetOrCreate(value);
    }
    /// <summary>
    /// Gets or sets the enum test.
    /// </summary>
    /// <value>
    /// The enum test.
    /// </value>
    public EnumTestValue EnumTest
    {
        get => GetOrCreate(EnumTestValue.Option1); set => SetOrCreate(value);
    }
}AppInfo.OverrideSettingsCachePath(path);Install ReactiveMarbles.CacheDatabase.Settings
 
var viewSettings = await AppInfo.SetupSettingsStore<ViewSettings>();Install ReactiveMarbles.CacheDatabase.EncryptedSettings
 
var viewSettings = await AppInfo.SetupSettingsStore<ViewSettings>("SECURE_PASSWORD");await AppInfo.DeleteSettingsStore<ViewSettings>();await AppInfo.DisposeSettingsStore<ViewSettings>();Multiple SettingsCache's can be created, each SettingsCache will have a SettingsCache database created with the name of the SettingsCache class.