0

大家好,我必须模拟以下情况。我想出了 2 个可能的替代方案,但我想知道是否有更好的解决方案。

这是交易...

简化模式

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 很容易,但我想使用实体框架(以前从未使用过 ORM,所以请注意 xD)。

你会如何模拟这种情况???

另一种方法可能是:

为每个用户创建一个组,仅包含该用户,并仅按组管理所有权。你觉得这听起来如何?

谢谢大家,很抱歉,如果我的解释不是很清楚,我的英语并不完美。

4

1 回答 1

0

我最终选择了选项A...

于 2011-01-10T15:25:47.180 回答