【发布时间】:2010-08-17 20:17:51
【问题描述】:
我在旧数据库中有两个表...
tblParentTable (int id, string specialIdentifier, ...)
tblChildTable (int id, string specialIdentifier, ...)
可以看到,添加了一个自增的int id,但是子表是用旧的字符串主键join的(其实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");
}
如果您认为我遗漏了一些重要的信息,请随时询问更多信息。
谢谢
【问题讨论】:
标签: c# fluent-nhibernate nhibernate-mapping