no vi que era bidireccional, es
Por otro lado esto no parece ni Hql ni linq
> from autor in Autor where not :idBook in
> (select libro.ID from autor.Libros libro)
Otra opción podría ser en hql:
from Autor a, Book b
where b.id = :bookId
and b not in elements(a.Books)
(notar que id en minuscula no es arbitrario.. es un shortcut cuando no sabes
el nombre de la propiedad ID, siempre funciona en hql)
en linq:
var resultado = session.Query<Autor>().Where(a => !a.Books.Any(b => b.Id =
bookId)));
El 23 de marzo de 2011 13:17, Juan Cuello <[email protected]> escribió:
> No permite una lista cuando haces select l.Autores from Libro l ....
>
>
>
> On 23 mar, 16:17, Rodrigo Marquez <[email protected]> wrote:
> > Hay un error en la consulta que te mandó José, según yo sería algo así:
> > from Autor a
> > where a not in (select l.Autores from Libro l where l.id = @libro)
> >
> > No sé si lo viste...
> > El 23 de marzo de 2011 08:37, Juan Cuello <[email protected]>
> escribió:
> >
> >
> >
> >
> >
> >
> >
> > > Ni una ni otra :P
> >
> > > Seguiré mirando,
> >
> > > Gracias
> >
> > > On 23 mar, 13:38, José F. Romaniello <[email protected]> wrote:
> > > > Creo que en Hql podria funcionar algo así;
> > > > from Autor a
> > > > where not a in (select l.Autores from Libro l where l.id = @libro)
> >
> > > > Y en linq algo así
> >
> > > > from a in session.Query<Autor>
> > > > from l in session.Query<Libro>()
> > > > where l.id = .. && !l.Autores.Contains(a)
> > > > select a;
> >
> > > > El 23/03/11, Juan Cuello <[email protected]> escribió:
> >
> > > > > Hola buenas,
> >
> > > > > Estoy haciendo una consulta HQL y queda patente que no sirvo para
> > > > > esto.
> >
> > > > > Tengo una relación many-to-many entre Libros y Autores, y quiero
> hacer
> > > > > una consulta que me devuelva los autores que no están relacionados
> con
> > > > > un libro.
> >
> > > > > Mi primera idea ha sido con HQL: from c in Autor where :idBook not
> in
> > > > > (c.Libros) y me da un sintax error en la generación de SQL
> >
> > > > > En LINQ no tengo ni idea de cómo hacerlo.
> >
> > > > > Ayuda please
> >
> > > > > --
> > > > > Para escribir al Grupo, hágalo a esta dirección:
> > > > > [email protected]
> > > > > Para más, visite:http://groups.google.com/group/NHibernate-Hispano
> >
> > > > --
> > > > Enviado desde mi dispositivo móvil
> >
> > > --
> > > 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
>
--
Para escribir al Grupo, hágalo a esta dirección:
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano