2

Сначала я использую сущность framework 6.Добавить localdb для тестов

На данный момент у меня есть база данных для производства. Я хочу добавить другую базу данных для тестов. Как мне это сделать?

Нужна ли мне другая строка подключения в моем проекте испытаний?

Какая разница между двумя строками соединения?

Я попытался скопировать строку подключения и изменить имя Каталога, но это приводит к сопоставлению с той же базой данных.

Пожалуйста, помогите мне понять каждую часть строки соединения в целом

Благодарности

+1

Связанные - http://stackoverflow.com/questions/3090311/different-application-settings-depending- on-configuration-mode/27546685 # 27546685 –

+0

Я не вижу, как это относится к моему вопросу. Руководство по разделению конфигурационных файлов? Я просто хочу знать, как добавить другую базу данных. –

+0

Какие проблемы возникают при изменении имени каталога?До тех пор, пока схема вашей базы данных одинакова, все должно работать нормально или вы используете имя базы данных в своем коде, где происходит перерыв? – RBT

ответ

5

Использование локальной БД в локальной тестовой среде

Вы можете использовать LocalDB для вашей среды тестирования. Localdb - это файловая база данных вашей локальной системы разработки, которая не нуждается в сервере для запуска, но ведет себя как SQL Server с точки зрения ваших приложений.

Я могу описать шаги, которые я бы выполнить в Visual Studio 2013:

  • Откройте "SQL Server обозреватель объектов" окно
  • Расширьте запись, начиная с (LocalDB) v.11.0
  • Right нажмите «База данных» и нажмите «Добавить новую базу данных» в контекстном меню
  • В моей системе это создаст файл localdb (mdf) в папке моих пользователей, например C:\Users\USERNAME\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0
  • После создания базы данных вы можете создавать таблицы в вашем localdb, соответствующем вашей живой среде, используя скрипты. Например, вы можете использовать SQL Server Management Studio для экспорта структуры таблицы (база данных -> Задачи -> Сгенерировать скрипты)
  • Чтобы получить строку подключения: Откройте контекстное меню базы данных (все еще в Visual Studio SQL Server Object Explorer) и выберите «Свойства».
  • В свойствах Windows найдите свойство «Строка подключения» и скопируйте его значение. Пример: Data Source=(localdb)\v11.0;Initial Catalog=DATABASENAME;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False
  • Используйте эту строку подключения для создания новой строки подключения в файле web.config или app.config в элементе connectionStrings. Поместите значение в атрибут connectionString. Не изменяйте атрибут providerName.

  • Используйте это соединение имя строки в вашем DbContext производный класс:

    public class YourDbContext : DbContext 
    { 
        public YourDbContext() : base("ConnectionName") 
        {   
        } 
    } 
    
+0

+1. Скажем, у меня было два приложения на моем локальном ПК (скажем, WPF и WinForms). Могут ли они использовать один и тот же LocalDB или я должен создать два отдельных LocalDB, которые указывают на одну и ту же базу данных? Благодарю. – w0051977

+0

Локальный файл db похож на экземпляр SQL-сервера. В нем может быть несколько баз данных (см. Ответ выше, есть подзаголовок «База данных», который может содержать несколько баз данных). Каждая база данных в локальном db имеет свою собственную строку соединения, которая будет содержать имя базы данных как «Начальный каталог». Поэтому в вашем сценарии вам не нужно создавать более одного локального db, просто создайте две базы данных в локальной базе данных. – Martin