Entity Framework 6 Code First - отношения с другой базой данных - PullRequest
0 голосов
/ 14 февраля 2019

Мне нужно разработать программу, которая управляет магазинами.У меня сейчас 5 разных магазинов, и в будущем их число будет увеличиваться.Я планирую создать одну базу данных (с SQL Server) для каждого магазина и еще одну базу данных, которая содержит общую информацию.Примерно так:

enter image description here

Каждая база данных имеет точно такую ​​же структуру (приблизительно с 20 таблицами) и имеет несколько связей с общей базой данных.Я знаю, как устроить что-то подобное в ADO.Net, но я хочу попробовать сначала с Entity Framework Code.Сейчас я нахожусь на базовом уровне в EF, но я думаю, что это хороший шанс улучшить свои знания в этой теме.Я пробовал возможное решение, создавая несколько DbContext, каждый из которых указывает на другую базу данных.Все работает отлично, но я не могу понять, как управлять отношениями с Shared DataBase.Я много читал на эту тему, и мне кажется, что работа с разными БД возможна начиная с 6-й версии EF.Это версия, которую я использую.Можно ли добиться этого с помощью «стандартного» синтаксиса EF?Должен ли я управлять всеми связями с общей БД «вручную»?

1 Ответ

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

Так как никто не ответил на мой вопрос, я собираюсь объяснить, что я сделал.После многих других исследований я не нашел много правильного способа работы с несколькими базами данных в EF.Но я получил то, что мне было нужно, и, возможно, кто-то может найти это полезным.Прежде всего, мы должны признать факты здесь: работа с несколькими базами данных вредна для EF, даже для EF 6. На мой взгляд, вы можете получить самое чистое решение, используя ado.net для управления соединениями.Таким образом, вы можете получить идентификатор присоединяющихся записей и использовать его в других запросах.Вы можете написать функцию, просто передавая необходимую вам информацию и ссылку на базу данных, что не так сложно реализовать.Во всяком случае, после многих других соображений, я думаю, лучше пересмотреть использование только одной базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...