Хорошо, у меня есть приложение asp.net mvc (в частности asp.net webapi). СтруктураAsp.net MVC sql только на уровне репозитория
слоев:
- Asp.net MVC | консольное приложение
- доступ к данным 1 | доступ к данным 2
- база данных 1 | база данных 2
Мне нужно создать слой доступа к данным в отдельном проекте (библиотеке классов), который будет использоваться из других проектов в том же решении. Могу ли я указать строку подключения и конфигурации данных только в этом классе? Потому что я должен указать ссылки на соединение и библиотеки данных на каждом родительском уровне.
Я хочу, чтобы для доступа к классам system.data был использован только класс доступа к данным (библиотека классов), а также указанные строки подключения. Я хочу это из-за сложности моей структуры и наличия разных библиотек доступа к данным для доступа к различным источникам данных без изменения конфигурации asp.net mvc.
Если вы включаете информацию о соединении непосредственно в код (не рекомендуется), вы можете указать только для этого класса. Однако, если ваше приложение извлекается из раздела ConnectionStrings вашего файла app/web.config, он будет принимать этот параметр из текущего текущего места сборки, и поэтому его необходимо будет указать в соответствующем файле .config. – Hal
моя проблема в том, что у меня есть несколько источников данных (sqlserver, mysql и продолжайте), и я должен прочитать их из большого количества интерфейсных приложений (консоль, winformms, веб-приложение). я бы хотел избежать ссылки на сборку mysql и sqlserver из asp.net mvc или других приложений переднего плана. – user2100125
Я бы просто использовал другую запись connectionStrings для каждого случая, а затем распространял только то, что вам нужно в каждой области приложения. Неиспользуемые параметры в app/web.config просто игнорируются, если они не используются - они не должны иметь ничего общего с необходимостью зависимостей - они в основном просто пары имя/значение, как и запись AppSettings. – Hal