映射实体的集合我正在开发一个问题/答案基于应用在功能NHibernate
我有一个帖子表中的线沿线的分贝:
- ID
- 标题
- 身体
- dateCreated会
- 的AuthorID
- AUTHORNAME(万一用户未注册)
- AutherEmail(如上)
- PostType(枚举 - 1,如果问题,2如果回复)
- 展(比特字段)
然后,有“PostBase” - 这是一个抽象类(它具有以下列出的问题和答案共同的属性) 然后我有一个内部“Post”类,它从PostBase开始下降,因此具有上面列出的所有属性。
然后有一个Question类和一个Answer类。
两者都使用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; }
}
这基本上有一个“问题” - 请记住,这只是一个Post中的数据库,ParentPostID为0,并有一个答案列表(其中ParentPostID等于Question.ID ...或沿着这些行)
我的问题是 - 我该如何映射这在流利的nHibernate中?