/// <summary> /// Runs the the registered <see cref="IDatabaseInitializer{TContext}" /> on this context. /// If "force" is set to true, then the initializer is run regardless of whether or not it /// has been run before. This can be useful if a database is deleted while an app is running /// and needs to be reinitialized. /// If "force" is set to false, then the initializer is only run if it has not already been /// run for this context, model, and connection in this app domain. This method is typically /// used when it is necessary to ensure that the database has been created and seeded /// before starting some operation where doing so lazily will cause issues, such as when the /// operation is part of a transaction. /// </summary> /// <param name="force"> /// If set to <c>true</c> the initializer is run even if it has already been run. /// </param> public void Initialize(bool force) { if (force) { _internalContext.MarkDatabaseInitialized(); _internalContext.PerformDatabaseInitialization(); } else { _internalContext.Initialize(); } }