我有我的应用程序liek这样的:NHibernate的1:N映射到1:1的限制
- 我有一个类产品
- 我有跟踪用户这款产品,所以类轨道
注意多个用户可以跟踪一个产品,因此产品之间的关系:轨道为1:n
然而,如果用户正在登录,那只能是曲目相关产品,并在我的列表页面,我应该显示的产品列表与当前用户的跟踪状态,是这样的:
- 产品A - 在纯SQL履带上2010-12-20
- ...
因此 - 履带上2011-01-01
select * from Product as p
left outer join Track as t
on t.ProductId = p.Id and t.UserId = {currentUser.Id}
但使用NHibernate我发现它不容易实现,目前我有一个ProductWithTrack类,它产品类继承,并增加了一个轨道财产:
class ProductWithTrack : Product {
public Track Track { get; set; }
}
我的工作是绘制该类产品表只是一样产品类,但我怎样才能算出轨道PR的映射operty,我曾尝试:
- 一个一对多的,但轨道是不是一个集合
- 多到1个/ 1到一个,这需要在产品表的外键列其中当然不存在
请帮忙解决这个映射问题,谢谢。
对不起,但我仍然困惑...我曾试图谷歌“报告视图休眠”但没有结果,如果我有一个类TrackedProduct与自己的ID,那么这个ID从哪里来?非常感谢。 – otakustay