Информация
У меня есть несколько проектов в моем решении, одним из которых является DAL, а другой - проект ASP.NET MVC6. Поскольку проект MVC6 также является проектом запуска, мне нужно добавить туда строку подключения.Использование нескольких строк подключения
Я видел this solution, но это не принято, и это не работает.
Моя Попробуйте
appsettings.json
"Data": {
"DefaultConnection": {
"ConnectionString": "Server=.\\SQLEXPRESS;Database=Bar;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"FooBar": {
"ConnectionString": "Server=.\\SQLEXPRESS;Database=Bar;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]))
.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration["Data:FooBar:ConnectionString"]));
}
Тем не менее, когда я пытаюсь получить доступ к данным, используя строку в FooBar
соединения я получаю следующее сообщение:
Дополнительная информация: Ни одна строка связи с именем «FooBar» не может быть найдена в файле конфигурации приложения ».
Вопрос
Как получить несколько строк соединения работает?
Вторая часть не работает. Я получаю сообщение об ошибке «Configuration.GetConnectionString»: «IConfigurationRoot» не содержит определения для «GetConnectionString», и никакой метод расширения «GetConnectionString», принимающий первый аргумент типа «IConfigurationRoot», не найден (вам не хватает использования директива или ссылка на сборку?) – Hypenate
какая версия asp.net вы используете. проверьте, чтобы вы не пропускали пространство имен 'using'. – Nkosi
И первая часть кажется, я получаю ArgumentNullException, указывающий на DefaultConnnection в файле запуска – Hypenate