我正在开发一个页面,用户可以在其中添加和修改现有内容,它本身不是 wiki,而是有点像 SO 的编辑能力。
我正在使用最新的 CTP 中的 EF4 和新的 Code First 方法,那么最好的类设计是什么?
我目前的猜测是这样的:
public class VersionableText
{
public int Id { get; set; }
public DateTime Date{ get; set; }
public String Text{ get; set; }
public virtual User User{ get; set; }
}
然后在我的其他实体中使用它,在 SO 上下文中它可能是这样的
public class Question
{
public int Id {get; set;}
public virtual VersionableText Title {get; set;}
public virtual VersionableText Content{get; set;}
...
}
但我并不真正相信它.. 因为我还将拥有标签、删除/取消删除帖子、回滚等功能。你知道如何正确设计类来帮助我正确地对内容进行版本控制吗?