我有一个数据库有一个人和地址(使用人员ID)之间建模一对一的关系。但是,我找不到使用NHibernate制作地图的方法。映射表继承作为与NHibernate的一对一关系
我的表结构如下:
PersonTable PersonId PersonName PersonAge AddressTable PersonId CountryName StreetName StateName
,我想有这样的事情作为最后一类:
PersonClass int Id string Name int Age Address HomeAddress AddressClass string Street string Country string State Person Owner
我试着用HasOne关系,但我couldn't重用PersonId作为地址标识符。
谢谢!
编辑:我忘了提及我使用FluentNHibernate,所以流畅的映射和XML都会好的。
You're吧!这是一个“被迫”HasOne。我的真实模型与我用作示例的模型不同,但因为它与我国的税收相关,所以我认为我可以用这种简化来更好地解释它。无论如何,我仍然需要使用PersonId来获取它的地址。 – tucaz 2010-02-25 13:10:22
如果您无法更改数据库模型以匹配您想要的数据模型,那么您可以将私有属性放在Person类的地址集合上,然后公开一个返回集合中第一个元素的公共属性。 – 2010-02-25 13:13:28
我得到了。我的问题是我没有地址的ID。地址的ID是人员ID。如何使用它? – tucaz 2010-02-25 13:18:24