我在下面有一个关系。我的数据如下所示。
Id name Child_id
1 Mark 1
1 Mark 2
但是当我试图通过使用where传递Id 1来获得父亲时,它给了我两个结果两者完全相同,即使孩子也是一样的。
我在这里期待不同的孩子。
Class Parent
{
int Id {get;set;}
string name {get;set;}
Child Child {get;set;}
}
Class Child
{
int Id {get;set;}
string name {get;set;}
}
答案 0 :(得分:0)
我会称这些数据被破坏,因为它讲述了关于同一个对象(使用Id 1)
的不同事实会话维护引用的真实性,因此当您从数据库收到相同的Id时,它将为您提供相同的引用。因此,当您获得上面的数据时,NHibernate会将第一个数据转换为Parent对象,而第二行则会看到相同的Id并返回相同的引用。