NHibernate映射多个连接

时间:2017-03-13 10:57:05

标签: c# sql nhibernate

我有一个页面,它将列出来自数据库的一堆消息,存储在theMessage表中,显示标题和消息。 要为作者创建头像我需要tblPerson.ID,所以当从数据库中选择消息时我想要包含该列(tblPerson.ID)。 问题是我不确定我是否应该在Message类中映射整个Person对象,或者我可以通过内连接包含它(尽管我不知道如何)。

下面是数据库的图表,除了tblMessage表之外,我无法控制这个设计。

数据库

tblMessage
ID
Title
Message
AuthorID (FK tblUser.ID)


tblUser
ID
Name


tblPerson
ID
Fullname
UserID (FK tblUser.ID)

的BusinessObjects:     公共课消息     {         [ManyToOne(ClassType = typeof(User),Name =“AuthorID”,PropertyRef =“ID”)]         公共虚拟用户作者{get;组; }

    [OneToOne(ClassType = typeof(Person), PropertyRef = "UserID", Constrained = true, ForeignKey = "none", FetchMode = FetchMode.Select)]
    public virtual Person Person { get; set; }
}

总之,我想完成以下内容: 检索Message对象列表,其中每条消息都包含PersonID属性,该属性应通过tblMessage.AuthorID = tblUser.ID检索 - > tblPerson.UserID => tblUser.ID

0 个答案:

没有答案