How to manually create a mdf file for localdb to use?

.net, localdb, visual-studio-2012

Solution

Just use CREATE DATABASE statement

SqlConnection connection = new SqlConnection(@"server=(localdb)\v11.0");
using (connection)
{
    connection.Open();

    string sql = string.Format(@"
        CREATE DATABASE
            [Test]
        ON PRIMARY (
           NAME=Test_data,
           FILENAME = '{0}\Test_data.mdf'
        )
        LOG ON (
            NAME=Test_log,
            FILENAME = '{0}\Test_log.ldf'
        )",
        @"C:\Users\George"
    );

    SqlCommand command = new SqlCommand(sql, connection);
    command.ExecuteNonQuery();
}

Problem

I'm setting up some unit tests for testing work done with a database. I would like to use localdb v11 but first I need to create the database. How exactly do I do this? simply connecting to `(localdb)v11` in sql management studio connects me to the database that (I assume) is in `C:\Users\George\`. How do I specify a new one? The code uses manual ADO.Net, not Entity Framework so as far as I know I cannot rely on it to simply create the database.

Original source

Related problems