Моя ситуация следующая. Я использую Entity Framework (4.0), в котором я определил относительно простую модель, например, две сущности:
В этом сценарии пользователь может иметь несколько транзакций. При создании базы данных это приведет (очевидно) к двум таблицам базы данных с именами «пользователь» и «транзакция».
Проблема в том, что я хочу использовать код как веб-сервис, где разные компании должны иметь свою собственную среду (читай: собственные пользователи и транзакции). Простым решением было бы добавить столбец в обе таблицы, например, скажем, «company_id», чтобы идентифицировать одного пользователя / транзакции для companya от пользователя / транзакции от companyb.
То, что я хотел бы получить, - это дублирование таблиц следующим образом:
- compa_user
- compa_transaction
- compb_user
- compb_transaction
Таким образом, все данные будут хорошо разделены, и если компания a генерирует много транзакций, компания b не заметит, что система работает медленно или вообще.
Мой вопрос: есть ли способ сделать это на основе структуры сущностей. Итак, могу ли я иметь несколько таблиц, представляющих одну сущность в моей модели, и переключаться с таблицы на таблицу в зависимости от того, какая компания подключается к услуге.
Любая помощь приветствуется!