Почему мне нужно назвать строку подключения как «DefaultConnection» для создания MDF-файла базы данных? - PullRequest
0 голосов
/ 18 февраля 2019

Интересно, что происходит: если имя моей строки подключения отличается от DefaultConnection, то файл .mdf не будет создан в папке App_data, а база данных будет создана с именем efaultConnection как это выглядит, когда я иду на SQL Server.

Если я переименую строку подключения в DefaultConnection, тогда файл .mdf будет создан в папке App_data, и я не увижу базу данных в SQL Server с использованием SQL Server Management Studio.

Кстати, база данных будет создана, когда я попытаюсь создать нового пользователя с помощью Identity Framework.

<connectionStrings>
    <add name="DefaultConnection" 
         connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\JobsWebsiteDB.mdf;Integrated Security=True;User Instance=True"
         providerName="System.Data.SqlClient"/>
</connectionStrings>

1 Ответ

0 голосов
/ 19 февраля 2019

Вы не, по крайней мере, я не сделал.Когда вы создаете свой контекст БД, вам нужно будет передать имя вашей строки подключения.Например, моя строка подключения называется «LonelyCacheIdentity»:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, long, ApplicationUserLogin, ApplicationUserRole, ApplicationUserClaim>
{
    public ApplicationDbContext() : base("LonelyCacheIdentity")
    {
    }

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.Properties<DateTime>().Configure(property => property.HasColumnType("datetime2"));
    }
}

Затем в моем файле web.config определены следующие строки подключения:

<connectionStrings>
    <add name="LonelyCacheConnection" connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=lonelycacheproject;Integrated Security=True" providerName="System.Data.SqlClient" />
    <add name="LonelyCacheIdentity" connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=lonelycacheproject;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

Для производства япреобразовать строки подключения для работы на производственном сервере.

...