internal ReadModelDatabaseInitializer(SetDatabaseVersion <TDbContext> version, IDbMigrator[] migrators = null) : base(migrators.OrEmpty() .Concat(new[] { version }) .ToArray()) { if (version == null) { throw new ArgumentNullException(nameof(version)); } this.version = version; }
private static Version GetDatabaseVersion(TContext context) { var versionStamp = new SetDatabaseVersion <TContext>(); return(context.OpenConnection() .GetLatestAppliedMigrationVersions() .SingleOrDefault(m => m.MigrationScope == versionStamp.MigrationScope) .IfNotNull() .Then(_ => _.MigrationVersion) .ElseDefault()); }