当我检索Parent-object时,Child-object的ID并不总是可预测的。例如,有时它设置为0(零),有时设置为实际值,有时为-1。
为什么?
我该如何解决这个问题?
对于代码和映射文件,请参阅this较早的问题。
答案 0 :(得分:1)
考虑到SQL Server的默认身份设置从不设置值0或-1,有些东西是可疑的。
此外,由于TeacherDetail实际上是教师的补充/蚕食实体,为什么教师详细信息的附加ID?您可以在nhibernate中映射主外键
答案 1 :(得分:0)
您的教师和教师详细信息设置不同。
一个是多对一的,另一个是一对一的。
答案 2 :(得分:0)
我会说你的前提不正确。
单个教师只有一个细节,因此没有什么是多对一的。这只是一个属性,因为在教师中有一个TeacherDetail属性。
无论哪种方式,TeacherDetailsMapping都没有多对一的方式......两位老师永远不会分享相同的细节。
修复不正确的映射,您的问题(映射错误的结果)将消失。