Bueno basicamente para usar el interceptor debes implementar una clase base
para tus entidades que en el ejemplo es la clase "public class
Persistent"(seccion
19.4) .  Luego debes implementar un interceptor que herede de
EmptyInterceptor y sobre escribes los metodos IsTransient() Load() y Save()
tal como se ve en el ultimo ejemplo de codigo de la seccion 19.5.  Por
ultimo este interceptor debes instanciarlo una unica vez y pasarlo como un
parametro al sessionFactory.OpenSession(tuinterceptor) para todas tus
sesiones.

Espero estas instrucciones te sirvan.  En dado caso que no el dia de maniana
te podria enviarte el codigo del interceptor el cual no tengo en este
momento a la mano.  Aunque si sigues al pie de la letra las instrucciones
estoy seguro que te servira.

Saludos,
Nestor Rodriguez

2010/9/23 Google Cris <[email protected]>

> Yo otra vez, bueno trate de leer eso del "Interceptor" y el
> "IsTransient" pero realmente no lo entiendo :(
>
> He buscado por google algun ejemplo y no encuentro :( o mas bien
> quizas no los entiendo.
>
> Si alguno tiene algun link en donde aparezca un ejemplo concreto de
> como implementar eso seria de mucha ayuda. :)
>
> Por otro lado el Save o Update por separado si funciona pero yo creia
> que con el SaveOrUpdate el entedia que hacer de una vez, si era un
> save o un update, pero igualmente por lo menos por ahora tengo que
> verificar si existe, entonces hay que modificar y sino existe entonces
> creo el objeto. Digamos asi
>
>
> boundListCollection.Add<Listado>(sessionContext.GetObjects<Listado>());
>
>                Listado clsListado;
>
>                IBoundList<Listado> listaListado =
> boundListCollection.Get<Listado>().CreateCriteriaController()
>
> .AddCriteria(coleccion.Expression.Equal<Listado,
> Int64>("ID", 50))
>                                                   .BoundList();
>                if (listaListado.Count == 0)
>                {
>                    clsListado = new Listado();
>                }
>                else
>                {
>                    clsListado = listaListado[0];
>                }
>
>                clsListado.DescripcionListado = "Cambio";
>                listaListado.Add(clsListado);
>                listaListado.AddedItems.Add(clsListado);
>
> sessionContext.SaveOrUpdate<Listado>(listaListado.AddedItems);
>
> Para que no se enrreden digamos que el boundListCollection es una
> coleccion de listas y el IBoundList es un tipo (List).
>
> --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a