Использование нескольких баз данных в одном приложении - PullRequest
1 голос
/ 12 апреля 2010

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

Это улучшит скорость запросов и освободит меня от проверки, к какой группе принадлежит пользователь.

Но поскольку я работаю с LINQ to SQL, мои классы явно связаны с базами данных, поэтому мне придется сделать отдельный DataContexts для всех баз данных.

Так как я могу решить эту проблему? Или я не должен беспокоиться и использовать только одну базу данных?

Ответы [ 2 ]

3 голосов
/ 12 апреля 2010

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

Ваши другие проблемы, вероятно, решены путем рассмотрения существующих ответов на мультитенантных вопросов Asp.NET MVC , уже находящихся в переполнении стека.

1 голос
/ 12 апреля 2010

"мои классы явно связаны с базами данных "

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

Если вы централизовали создание своего DataContext с использованием Repository Pattern , то было бы не более нескольких строк кода для условного создания DataContext для одной или другой базы данных и передачи его в ваши объекты.

Так что все сводится к тому, как вы реализовали свои контексты.

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