我正在开发一个基于问答的应用程序
我在db中有一个Post表,内容如下:
-
身份证件
-
-
身体
-
创建日期
-
-
AuthorName(如果用户未注册)
-
AutherEmail(如上所述)
-
PostType(如果有问题,则枚举-1,如果有答复,则枚举-2)
-
显示(位字段)
然后,还有一个“PostBase”,它是一个抽象类(它有问答共同的属性,如下所示)
然后我有一个内部的“Post”类,它从PostBase派生,因此具有上面列出的所有属性。
然后有一个问题课和一个答案课。
两者都使用Post作为基类。
以下是课程:
public abstract class PostBase
{
{
get { return postCreatorEmail; }
//todo: add email address validation here?
set { postCreatorEmail = value; }
} private IList<Attachment> attachments = new List<Attachment>();
public PostBase()
{
//init logic here
}
public virtual DateTime DateCreated { get; set; }
public virtual string ID { get; set; }
public virtual string Body { get; set; }
public virtual DateTime DateLastModified { get; set; }
public virtual string PostCreatorName { get; set; }
public virtual string PostCreatorEmail { get; set; }
public virtual int PostCreatorID { get; set; }
public virtual PostType PostType { get; set; }
public virtual PostSource PostSource { get; set; }
public virtual bool Show { get; set; }
public IEnumerable<Attachment> Attachments { get { return attachments; } }
}
internal class Post : PostBase
{
public virtual List<string> Tags { get; set; }
public virtual string Title { get; set; }
public virtual string ParentPostID { get; set; }
}
问题:
public class Question : PostBase
{
public Question()
{
tags = new List<string>();
}
public string Title { get; set; }
public List<string> Tags { get { return tags; } }
public int NumberOfReplies { get; set; }
}
public class Answer : PostBase
{
public string QuestionID { get; set; }
}
我使用automapper映射到/从答案和帖子或问题和帖子
我要做的是创建以下类:
public class QuestionWithAnswers
{
public Question Question { get; set; }
public IEnumerable<Answer> Answers { get; set; }
}
基本上有一个“问题”-记住这只是db中的一个帖子,parentposted为0,有一个答案列表(其中parentposted等于Question.ID。。。或者沿着这些路线)
我的问题是-我该如何用流利的nHibernate来映射这个?