私は、ユーザーが既存のコンテンツを追加および変更できるページを開発しています。これは 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;}
...
}
しかし、私はそれに本当に納得していません..タグ、投稿の削除/削除取り消し、ロールバックなども行う予定なので、コンテンツを適切にバージョン管理するのに役立つクラスを適切に設計する方法を知っていますか?