2010-04-22 2 views
0

Привет, ребята, мне нужно смоделировать следующую ситуацию. Я придумал две возможные альтернативы, но я хочу знать, есть ли лучшее решение.Модель использования нескольких пользователей/групп с использованием Entity Framework 4

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

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

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

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

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

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

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

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

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

Как бы Вы эту модель?

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

B

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

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

+0

Является ли мой вопрос непонятным достаточно? Не получал комментариев или ответов = ( – emzero

ответ

Смежные вопросы