public T GetPreferences <T>(string key, T defaultValue) { using var connection = InitConnection(); var preferenceValue = connection.QueryFirstOrDefault <string>( "SELECT `Value` FROM Preferences WHERE `Key`=@key;", new { key }); return(Preferences.Cast(preferenceValue, defaultValue)); }