private DbContext( bool removeDiacriticsOnTableNameAndColumnName, bool storeDateTimeAsTicks) { _removeDiacriticsOnTableNameAndColumnName = removeDiacriticsOnTableNameAndColumnName; var connection = new SqliteConnection("Data Source=:memory:;Mode=Memory"); _storeDateTimeAsTicks = storeDateTimeAsTicks; _queriesManager = new QueriesManager(connection); Database = new Database(_queriesManager, null); }
/// <summary> /// Create a Database context /// </summary> /// <param name="filePath">file path of the database</param> /// <param name="removeDiacriticsOnTableNameAndColumnName">if true the tableName and column name are generated without diacritics ex : 'crèmeBrûlée' would become 'cremeBrulee'</param> /// <param name="storeDateTimeAsTicks">if true store dateTime as ticks(long)</param> public DbContext( string filePath, bool removeDiacriticsOnTableNameAndColumnName = true, bool storeDateTimeAsTicks = false) { if (filePath == null) { throw new ArgumentNullException($"{nameof(filePath)}"); } _removeDiacriticsOnTableNameAndColumnName = removeDiacriticsOnTableNameAndColumnName; _storeDateTimeAsTicks = storeDateTimeAsTicks; var connection = new SqliteConnection($"Data Source={filePath};Mode=ReadWriteCreate"); _queriesManager = new QueriesManager(connection); Database = new Database(_queriesManager, filePath); }
internal Database(QueriesManager queriesManager, string filePath) { _queriesManager = queriesManager; _queriesManager.InternalLogger.OnLog = OnLog; _filePath = filePath; }
internal TableQuery(TableMapping mapping, QueriesManager queriesManager) { _mapping = mapping; _queriesManager = queriesManager; }