Tengo dos clases:NHibernate: "colección no fue procesado por flush()" debida a un asunto carga diferida
class Parent
{
public virtual Child Child { get; set; }
}
class Child
{
public virtual IList<GrandChild> GrandChildren { get; set; }
}
He una instancia de Parent
cargado de mi ISession
, Parent.Child
es cargado ligeramente (no cargado en este punto). Child.GrandChildren también está cargado de pereza.
Si hago esto:
session.Save(new Parent { Child = existingParent.Child });
consigo collection [Child.GrandChildren] was not processed by flush()
Si causo existingParent
's Child
propiedad a ser cargado, simplemente accediendo a ella:
var x = existingParent.Child.Name
el problema va lejos. ¿Por qué sucede esto y cómo lo resuelvo, preferiblemente sin tener que cambiar mi estrategia de búsqueda?
** Edición: ** Padres tiene una FK a Niño
estoy usando NH 2.1.2.4000
Gracias
¿Encontró una solución que no implique tocar la colección? – bcsanches
no lo crea así :( –
a menos que "utilice un documento db, en su lugar" cuente –