Example #1
0
 /// <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();
     }
 }