[英]Mapping a composite primary key with a foreign key relation in Nhibernate
[英]NHibernate - Composite-Id on relation - Where ID of parent is not same composite
說我在Oracle數據庫中有這些表
人:
PersonId <-PK ID(int,從序列開始)
PersonFirstNameID <-整數
PersonLastNameID <-整數
PersonSecurityID <-整數
人員詳細信息
PersonFirstNameID -CompositeKey
PersonLastNameID -CompositeKey
PersonSecurityID -CompositeKey
PersonDetailKey
PersonDetailValue
PersonDetail風險
現在,我想在NHibernate中建立從Person到PersonDetails的一對多關系模型。
我怎樣才能做到這一點? 我嘗試設置代表復合ID的組件,並通過屬性ref將其饋入一對多,但是這會生成帶有重復列的SQL,並引發以下錯誤:System.ArgumentException:Identifier type mismatch; 發現:預期:
NHibernate文檔僅討論在兩個復合ID相同時執行此操作。
是的...不是我的數據庫架構,它是舊式數據庫,訪問權限非常有限。
不太清楚。
為了使外鍵關系正常工作,子級必須引用父級的主鍵,因此數據結構建議人員的主鍵為FirstNameId / lastNameid / securityid(因此,最好的做法是忽略personid列) 。
是Person_Id實際上是主鍵(在數據庫中定義為PK),還是數據庫的PERSON主鍵版本實際上是FirstNameId / lastNameid / securityid?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.