我有两个表Articles
,Events
我想为这两种类型的用户提供评论功能。困难的部分是我想使用一个导航属性来返回属于给定 EF 对象的注释。
public class Article
{
public virtual ICollection<Comment> Comments { get; set; }
/* more properties here */
}
public class Event
{
public virtual ICollection<Comment> Comments { get; set; }
/* more properties here */
}
public class Comment
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int CommentId { get; set; }
public string Msg { get; set; }
public DateTime SentAt { get; set; }
public int TargetId { get; set; }
public CommentTargeType TargetType { get; set; }
}
public enum CommentTargeType
{
Article,
Event
}
如您所见,theTargetId
将是 theArticle
或the 的 id,Event
而 theTargetType
是区分这两种类型的。那么,有没有办法做到这一点?或者创建一个 ArticleComments 和一个 EventComments 类型会更好吗?