У меня есть два класса:
class Parent
{
public virtual Child Child { get; set; }
}
class Child
{
public virtual IList<GrandChild> GrandChildren { get; set; }
}
У меня есть экземпляр Parent
, загруженный из моего ISession
, Parent.Child
загружен лениво (НЕ загружен в этот момент) Child.GrandChildren также лениво загружен.
Если я сделаю это:
session.Save(new Parent { Child = existingParent.Child } );
Я получаю collection [Child.GrandChildren] was not processed by flush()
Если я вызываю Child
свойство existingParent
для загрузки, просто перейдя к нему:
var x = existingParent.Child.Name
проблема исчезает. Почему это происходит, и как мне это решить - желательно без необходимости менять мою стратегию получения?
** Редактировать: ** Родитель имеет FK для ребенка
Я использую NH 2.1.2.4000
Спасибо