Hola,
El session.Delete(“from Xyz”) funciona de esa forma y no creo que se pueda
cambiar el comportamiento.
La solucion que estas buscando es haciendo un sql-query (como para ejecutar
un SP), pero agregándole synchronize para evitar problemas (de cache y flush
de sesiones). Ej:
session.GetNamedQuery(“borrar todo”).ExecuteUpdate();
y despues en algun mapping tenes que hacer esto:
<sql-query name=”borrar todo”>
<synchronize table=”Persona” />
<![CDATA[
delete from Persona
]]>
</sql-query>
Si vas a afectar mas de una tabla, podes repetir el synchonize.
Saludos!
From: [email protected]
[mailto:[email protected]] On Behalf Of Rodrigo Juarez
Sent: Monday, January 12, 2009 16:02
To: [email protected]
Subject: [NHibernate-Hispano] Re: Como eliminar varios objetos a la vez
Tambien esta esta documentación, no se que tan actualizada
http://www.hibernate.org/hib_docs/nhibernate/html/transactions.html
Rodrigo Juarez
[email protected]
http://rodrigojuarez.com.ar
http://intap.com.ar
_____
De: [email protected]
[mailto:[email protected]] En nombre de Anthony Campos
Enviado el: lunes, 12 de enero de 2009 02:05 p.m.
Para: [email protected]
Asunto: [NHibernate-Hispano] Re: Como eliminar varios objetos a la vez
buenos dias yo tambien tengo el mismo problema de la demora en la
eliminacion y grabacion, rodrigo indica qeu se coloque dentro de una
transaccioin ?
no he usado eso de la transancion me podrian poner un ejemplo ???
Gracias,
Anthony Campos
2009/1/12 Rodrigo Juarez <[email protected]>
Probaste ejecutandolo dentro de una transaction?
Saludos
Rodrigo Juarez
[email protected]
http://rodrigojuarez.com.ar
http://intap.com.ar
-----Mensaje original-----
De: [email protected]
[mailto:[email protected]] En nombre de uhilari
Enviado el: lunes, 12 de enero de 2009 01:24 p.m.
Para: NHibernate-Hispano
Asunto: [NHibernate-Hispano] Re: Como eliminar varios objetos a la vez
Hola,
Lo he probado, y no hace lo que deseo,
Como te digo lo que yo quiero es que me envie una consulta del tipo
"Delete From bolsa Where Fecha = '23/06/2008'", es decir una solo
consulta a la BD.
Pero esta sentecia, aunque parece la misma me sigue enviando Delete
>From bolsa where id_bol...@idbolsa, pero para cada objeto, es decir
que si mi BD tiene 1000 registros, me envia 1000 sentencias al
servidor, en lugar de solo 1.
Alaguna ayuda por favor?
On 12 ene, 11:15, "Germán Schuager" <[email protected]> wrote:
> No estoy seguro, pero me suena mas esto:
>
> sesion.Delete("from Bolsa where Fecha = :fecha", fecha1.Value.Date,
> NHibernateUtil.DateTime);
>
> Probá ;)
>
>
>
> On Mon, Jan 12, 2009 at 1:05 PM, uhilari <[email protected]> wrote:
>
> > Perdon habia en error de tipeo antes
>
> > sesion.Delete("from Bolsa where Fecha = :fecha", fecha1.Value.Date,
> > typeof(Bolsa));
>
> > On 12 ene, 11:04, uhilari <[email protected]> wrote:
> > > Gracias German
>
> > > y solo para estar seguro,
> > > en caso de que queira filtrar la eliminacion seria asi:
>
> > > sesion.Delete("from Nlsa where Fecha = :fecha", fecha1.Value.Date,
> > > typeof(Bolsa));
>
> > > gracias.
>
> > > On 12 ene, 10:47, "Germán Schuager" <[email protected]> wrote:
>
> > > > Hola, con HQL es sencillo:
>
> > > > session.Delete("from Operacion");
>
> > > > On Mon, Jan 12, 2009 at 12:36 PM, uhilari <[email protected]> wrote:
>
> > > > > Hola.
>
> > > > > Pues mi pregunta es esa, jeje.
>
> > > > > Lo que pasa es tengo que eliminar varios objetos al mismo tiempo,
y
> > > > > ahora lo hago con un bucle.
>
> > > > > ICriteria cr = Sesion.CreateCriteria(typeof(Operacion));
> > > > > IList<Operacion> lst = cr.List<Operacion>();
> > > > > foreach(Operacion op in lst)
> > > > > {
> > > > > Sesion.Delete(op);
> > > > > }
> > > > > Sesion.Flush();
>
> > > > > me gustaria hacer algo parecido a
>
> > > > > Delete From Operacion;
>
> > > > > Gracias a todos- Ocultar texto de la cita -
>
> > > > - Mostrar texto de la cita -- Ocultar texto de la cita -
>
> > > - Mostrar texto de la cita -- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -
--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección:
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---