我有我的應用程序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