我有一箇舊的數據庫的兩個表...NHibernate的在傳統數據庫如何告訴NHibernate的哪一個是父表
tblParentTable (int id, string specialIdentifier, ...)
tblChildTable (int id, string specialIdentifier, ...)
正如你可以看到,一個自動遞增INT ID已添加,但子表使用舊的字符串主鍵連接(實際上,specialIdentifier是tblParentTable的主鍵,以及tblChildTable上的主鍵和外鍵)。
所以我創建了域對象和Fluent NHibernate映射,但由於這種奇怪的模式,NHibernate認爲它需要先保存tblChildTable記錄,然後才保存tblParentTable - 這會導致外鍵約束錯誤。
如何向NHibernate暗示tblParentTable是父級,需要先保存?
這裏是映射...
public ParentMap()
{
Table("tblParentTable");
Id(x => x.Id).Column("id");
Map(x => x.SpecialIdentifier);
References(x => x.Child).Column("specialIdentifier");
}
public ChildMap()
{
Table("tblChildTable");
Id(x => x.Id).Column("id");
Map(x => x.SpecialIdentifier);
References(x => x.Child).Column("specialIdentifier");
}
請隨時要求更多的信息,如果你認爲我缺少一些重要的東西。
謝謝