建模共享实体拼图

时间:2009-12-22 21:20:56

标签: c# nhibernate oop architecture

在我的域中拥有以下实体:

项目
任务
用户
上下文

用户可以拥有多个项目,任务和上下文。项目可以有任务和上下文,任务可以有上下文。

我有点不确定如何最好地模拟上下文,因为它将属于多个实体,即用户可以添加上下文列表,这些上下文将与te用户相关联。然后,用户可以添加项目并从用户上下文列表中选择要添加到项目的上下文,从而有效地创建项目上下文。

任何帮助将不胜感激,提前thansk ...

1 个答案:

答案 0 :(得分:1)

取决于Context表的目的。您是否可以在用户,任务或项目之间共享创建的上下文?如果是这样,那么多对多关系表可以为每个不同的连接提供帮助。所以有一个UserContext,ProjectContext,TaskContext表。他们只会容纳两个表的主键,也许是一个时间戳,由你决定。

如果您不与其他表共享任何内容,以致每个链接对于创建它的人来说都是唯一的,您可能只想添加一个上下文类型。因此,ContextType表将添加到混合中。您仍然需要一个关系表,以便一个人可以拥有多个上下文等等。那么您可以拥有一个ContextRelationshipTable,它将外键从父表链接到上下文表,您可以将该类型用作过滤器。

但是,我可能只是使用多对多方法,只是有链接表。