NHibernate子对象的ID问题

时间:2010-07-13 18:46:47

标签: c# nhibernate

当我检索Parent-object时,Child-object的ID并不总是可预测的。例如,有时它设置为0(零),有时设置为实际值,有时为-1。

为什么?

我该如何解决这个问题?

对于代码和映射文件,请参阅this较早的问题。

3 个答案:

答案 0 :(得分:1)

考虑到SQL Server的默认身份设置从不设置值0或-1,有些东西是可疑的。

此外,由于TeacherDetail实际上是教师的补充/蚕食实体,为什么教师详细信息的附加ID?您可以在nhibernate中映射主外键

答案 1 :(得分:0)

您的教师和教师详细信息设置不同。

一个是多对一的,另一个是一对一的。

答案 2 :(得分:0)

我会说你的前提不正确。

单个教师只有一个细节,因此没有什么是多对一的。这只是一个属性,因为在教师中有一个TeacherDetail属性。

无论哪种方式,TeacherDetailsMapping都没有多对一的方式......两位老师永远不会分享相同的细节。

修复不正确的映射,您的问题(映射错误的结果)将消失。