0
具有映射表結構的遺留數據庫,如下所示。我想弄清楚如何流利地映射這種類型的關係。流利的nHibernate映射與三元映射表
有多個父表使用映射表來存儲註釋。
的父表如下所示:
P1表
ID iSomething
P2表
ID iSomethingElse
有,將採取一個父表中的映射表,並將其映射到筆記表。
映射表
ID i_RecordUniqueID
ID i_NoteID
ID i_RecordID
列i_RecordID包含數字值指示哪個父表中的值i_RecordUniqueID來自。映射表只有這三列,並且是三元主鍵。
這裏是記表:
注表
ID i_NoteID
查找表P1的注意事項如下所示的查詢:
Select n.*
from P1 p
inner join Mapping m on p.iSomething = m.i_RecordUniqueID and m.i_RecordID = 1
inner join Note n on m.i_NoteID = n.i_NoteID
查詢查找表P2的筆記是如下:
Select n.*
from P2 p
inner join Mapping m on p.iSomething = m.i_RecordUniqueID and m.i_RecordID = 2
inner join Note n on m.i_NoteID = n.i_NoteID
在我的父表映射文件中,我有一個像下面這樣的關聯。我不知道如何添加i_RecordID約束。
HasManyToMany<Note>(x => x.Notes)
.Table("Mapping")
.ParentKeyColumn("i_RecordUniqueID")
.ChildKeyColumn("i_NoteID")
.Cascade.All();