Loading

NHibernate 2.1.0 : Executable queries

Nhibernate 2.1.0 support for bulk actions using HQL.

Some HQL examples:

insert into Animal (description, bodyWeight, mother) select description, bodyWeight, mother from Human

insert into Pickup (id, Vin, Owner) select id, Vin, Owner from Car

insert into Animal (description, bodyWeight) select h.description, h.bodyWeight from Human h where h.mother.mother is not null

update Human h set h.description = 'updated' where exists (select f.id from h.friends f where f.name.last = 'Public' )

update versioned IntegerVersioned set name = :name

update Human set name.first = :correction where id = :id

update Animal a set a.mother = (from Animal where id = 1) where a.id = 2

update Animal set description = :newDesc where description = :desc

update Animal set bodyWeight = bodyWeight + :w1 + :w2

delete SimpleEntityWithAssociation e where size(e.AssociatedEntities ) = 0 and e.Name like '%'

delete Animal where mother is not null

delete from EntityWithCrazyCompositeKey e where e.Id.Id = 1 and e.Id.OtherId = 2

using (var s = OpenSession())using (var tx = s.BeginTransaction()){  s.CreateQuery("delete from SimpleClass").ExecuteUpdate();  tx.Commit();}
 
link:NH2.1: Executable HQL
posted @ 2010-09-22 13:51  .net's  阅读(477)  评论(0)    收藏  举报