Модель множественного владения пользователя / группы с использованием Entity Framework 4 - PullRequest
0 голосов
/ 23 апреля 2010

Привет, ребята. Мне нужно смоделировать следующую ситуацию. Я предложил 2 возможных варианта, но я хочу знать, есть ли лучшее решение.

Вот сделка ...

Упрощенная схема

User              Group
-----------       ------------
UserId (PK)       GroupId (PK)
Name              Name
...               ...

       \           /
          UserGroup
         -------------
          UserId (FK)
          GroupId (FK)

Это просто. Таблица для пользователей, таблица для групп, а затем таблица для привязки пользователей к группе (многие ко многим)

Тогда у меня есть другие сущности (например, статьи), которые могут принадлежать как пользователю, так и группе (могут принадлежать одному пользователю, или принадлежать одной группе, или могут принадлежать пользователю и группе и т. Д.). ).

Так вот в чем дело. Я мог бы сделать:

A

Article                ArticleOwnership
--------------         ----------------
ArticleId (PK)  <----- ArticleId (FK)
Title                  UserId (FK-NULLABLE)
...                    GroupId (FK-NULLABLE)

Дело в том, что когда я хочу проверить, принадлежит ли конкретному пользователю определенная статья, кажется, что я должен проверить обе. Это легко с помощью T-SQL, но я хочу использовать Entity Framework (никогда раньше не использовал ORM, так что будьте хороши xD).

Как бы вы смоделировали эту ситуацию ???

Другой подход может быть:

B

Создайте группу для каждого пользователя, содержащую внутри только этого пользователя, и управляйте владениями только по группам. Как это звучит для вас?

Спасибо всем и извините, если мое объяснение не очень понятно, мой английский не идеален.

1 Ответ

0 голосов
/ 10 января 2011

В итоге я выбрал вариант А ...

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