Como um novo aplicativo ASP.NET MVC 5 sabe como criar um banco de dados e como o Controlador de Conta acessa o banco de dados?

Eu criei umASP.NET MVC 5 Aplicação usandoAtualização 2 do Visual Studio 2013. No aplicativo, eu tenho um controlador de conta. É diferente do que estou acostumado e não contém uma instanciação dedbcontext.

public class AccountController : Controller
{
    private ApplicationUserManager _userManager;

    public AccountController()
    {
    }

    public AccountController(ApplicationUserManager userManager)
    {
        UserManager = userManager;
    }

    public ApplicationUserManager UserManager {
        get
        {
            return _userManager ?? HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
        }
        private set
        {
            _userManager = value;
        }
    }

Minhasweb.config que é criado por padrão tem uma cadeia de conexão como esta:

  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-WebApplication3-20140417072624.mdf;Initial Catalog=aspnet-WebApplication3-20140417072624;Integrated Security=True"
      providerName="System.Data.SqlClient" />
  </connectionStrings>

Alguém pode me explicar como o aplicativo sabe criar um banco de dados para esse aplicativo quando é iniciado pela primeira vez?

Além disso, nas inicializações subsequentes, ele usa o Entity Framework para acessar as tabelas de identidade para fazer a autenticação?

questionAnswers(3)

yourAnswerToTheQuestion