请教一个DDD中聚合根的问题

场景是这样的,现在有一个Tag服务,Tag(标签)跟Content(内容)间是多对多关系,请问Content可以做为聚合根吗,如果作为聚合根实体定义如下是否合理:


public class Tag{
public int TagID {get;set;}
public string TagName {get;set;}
}

public class Content{
public int ContentID {get;set;}
public DateTime DateAdded {get;set;}
public List<Tag> Tags {get;set;}
}

持久化用的是Entity Framework,用这种结构其他几层都可以,但在数据持久化时无法把实体映射到数据库中的表上,所以向高人请教是否设计不合理。

请大家指点,非常感谢!

我认为我们在找聚合根时,首先要划定一个聚合边界,然后在这个边界中自然会发现根。这有一个先后关系,我认为很重要。

而要划定聚合边界,又要求首先了解模型所在的上下文,就楼主这个案例,由于不太了解上下文, 就普通意义看: tag 好像不是content必然组成部分,两者不存在聚合关系,也不需要将两者划在同一聚合边界内。



[该贴被admin于2011-12-15 11:18修改过]