Я пишу систему начисления заработной платы, которая будет интегрироваться с уже существующей системой. В исходной системе была основная база данных, которая обрабатывала управление пользователями и некоторую глобальную конфигурацию, ниже, что есть несколько баз данных, каждая из которых идентична по структуре, в основном каждая база данных - это одна база данных платежной ведомости для компаний, все они привязаны к основной базе данных, поскольку она принадлежит родительской которая имеет множество дочерних компаний, каждая из которых имеет собственный отдел кадров.Использование структуры сущности в нескольких базах данных
Что мне было интересно, если есть какой-либо способ, который я могу, на основе либо файла cookie, либо другого метода, в котором хранится какая компания, к которой они хотят подключиться, динамически изменять целевую базу данных сущностей на основе их ввода с использованием фильтра ?
Вот пример:
Пользователь А на сайт, страница загружается с имеющимися компаниями, которые пользователь имеет разрешения на доступ, пользователь будет выбрать компанию, у них есть права администратора в этой компании, они добавляют сотрудник, прежде чем это действие будет запущено, asp.net переключит строку подключения в соответствующую базу данных, а затем добавит запись.
В лучшем случае вы будете в конечном итоге с 2-х контекстах, или есть некоторые обходные пути, но очень менее практичным и EF6 будет поддерживать множественный база данных. Вы можете проверить бета-версию, к тому времени, когда ваше приложение будет готово, EF6 будет выпущен. Но все БД являются частью одной организации, а затем объединяют их с дополнительным внешним ключом для CompanyID, который сделает одну БД и облегчит отчетность. –
А я вижу, проблема в том, что человек, который сделал первую систему начисления заработной платы, очень категоричен в том, что мы сохраняем структуру базы данных одинаково, говорит он, чтобы компании были более готовы перейти на более новую версию, t необходимо выполнить любые миграции базы данных. – ChaoticLoki
Ну, это кошмар для обслуживания, вы не сможете выполнять кросс-db-запросы с помощью соединений. Я не уверен в EF6, но вы можете проверить на codeplex. –