[英]NHibernate 2.0 mapping a composite-id inside a composite-id
[英]NHibernate many-to-one with a composite-id entity
如何映射“一個”實體具有復合ID的多對一關系? 例如:
public class SingleEntity
{
public int FirstId{get;set;}
public int SecondId{get;set;}
public string SomeData{get;set;}
}
實體ManyEntity
擁有(除了primaryKey之外) SingleEntity
的FirstId和SecondId列,因此我希望能夠ManyEntity
關系,以便ManyEntity
看起來像這樣:
public class ManyEntity
{
public int Id{get;set;}
public SingleEntity Single{get;set;}
public string Name{get;set;}
}
如何使用NHibernate做到這一點?
Fluent允許您使用CompositeId()
方法指定復合ID映射。 但是,正如我們可以在此方法文檔中閱讀的那樣:
注意:盡可能使用替代鍵而不是組合鍵。
復合ID通常需要花費很多精力才能獲得可討論的/沒有收益。 如果可以的話 ,我強烈建議您使用代理密鑰。 這要容易得多。
但是,如果您堅持使用數據庫模式,也許這些問題可以幫助您:
如果您用谷歌搜索這些短語(流利的nhibernate復合ID),您將很快發現很多鏈接都包含“問題”一詞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.