public override void Initialize() { DataBase = new LiteDatabase(ConnectionString); LCol = DataBase.GetCollection <CacheItem>(CollectionName); LCol.EnsureIndex(c => c.Key); //CurrentCollectionCount = LCol.Count(); }
public void Dispose() { if (this.Database != null) { this.Database.Dispose(); } this.Mods = null; this.ModVersions = null; }
public ModStorage(string version, IDomain domain) { string fullPath = Path.Combine(Settings.ModifiDirectory, version + ".db"); this.Database = new LiteDB.LiteDatabase(fullPath); this.Mods = Database.GetCollection <ModMetadata>(domain.GetDomainIdentifier() + "-meta"); this.ModVersions = Database.GetCollection <ModVersion>(domain.GetDomainIdentifier() + "-versions"); this.Domain = domain; }
/// <summary> /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// </summary> public LiteDBTable([NotNull] IPrincipalKeyValueFactory <TKey> keyValueFactory, bool sensitiveLoggingEnabled, LiteDatabase _liteDatabase, IEntityType entityType) { _keyValueFactory = keyValueFactory; _sensitiveLoggingEnabled = sensitiveLoggingEnabled; _docrows = _liteDatabase.GetCollection <BsonDocument>(entityType.TableName()); entityType.GetKeys()?.ToList().ForEach(key => { key.Properties.ToList().ForEach(ip => { _docrows.EnsureIndex(ip.Name, ip.IsForeignKey()); }); }); _entityType = entityType; }