2010-09-29 13 views

Respuesta

0

No se puede hacer en HQL; no permite referencias de parámetros en la cláusula de selección.

+2

¿Tiene una referencia para eso? –

0

No se acerca de la última respuesta. Estoy usando NH 3.2 y pude conseguir que esto funcione

var hql = @"INSERT INTO EventFacility (Facility, Event, Owner, Position) 
SELECT f, :evt, :own, :position from Facility f where f.Id IN (105, 109, 110)"; 

var @event = Session.Get<Event>(351931); 
var query = Session.CreateQuery(hql) 
       .SetInt32("position", 0) 
       .SetEntity("evt", @event) 
       .SetEntity("own", @event.Owner); 

var x = query.ExecuteUpdate(); 
Assert.AreEqual(3, x); 

En este ejemplo que necesitaba para crear un nuevo objeto EventFacility. Con casi todos los campos que ves aquí. La entidad Evento tiene otra entidad, el Propietario colgando de ella.

Cuestiones relacionadas