private static IQueryable <ComponentStatusEntity> BuildQuery( HistoryDatabaseContext databaseContext, string componentUid, string statusUid, DateTime?rangeStart, DateTime?rangeEnd) { var query = databaseContext.ComponentStatus.AsQueryable(); if (!string.IsNullOrEmpty(componentUid)) { query = query.Where(c => c.ComponentUid == componentUid); } if (!string.IsNullOrEmpty(statusUid)) { query = query.Where(c => c.StatusUid == statusUid); } if (rangeStart.HasValue) { query = query.Where(c => c.RangeEnd >= rangeStart); } if (rangeEnd.HasValue) { query = query.Where(c => c.RangeStart <= rangeEnd); } return(query); }
public void Initialize(DbContextOptions options) { _dbContextOptions = options ?? throw new ArgumentNullException(nameof(options)); using (var databaseContext = new HistoryDatabaseContext(_dbContextOptions)) { databaseContext.Database.EnsureCreated(); } }
private HistoryDatabaseContext CreateDatabaseContext() { var databaseContext = new HistoryDatabaseContext(_dbContextOptions); try { databaseContext.Database.SetCommandTimeout(TimeSpan.FromSeconds(120)); } catch (InvalidOperationException) { // This exception is thrown in UnitTests. } return(databaseContext); }