Javier,
Sin tener todos los mappings a la vista, creo que deberias escribir asi tu
query
IQuery query = NHibernateSession.CreateQuery(
"from Nombramiento as n where n.Persona.Id = :idPersona AND
n.Active = 1 Order by n.Id desc");
// Dependiendo del tipo de dato del ID
query.SetXXX("idPersona", idPersona);
----------------------------------
Carlos Peix
On Wed, Nov 14, 2012 at 5:31 PM, Javier Osvaldo Chércoles <
[email protected]> wrote:
> Gente tengo el esquema que le envió.
>
> Cuando quiero ejecutar:
> IQuery query = NHibernateSession.CreateQuery("select n from Nombramiento
> as n where n.persona = " + personaId.ToString() + " AND n.Active = 1 Order
> by n.Id desc");
>
> Recibo el error:
> *unexpected token: as [select n from Nombramiento as n where n.persona =
> nnnn AND n.Active = 1 Order by n.Id desc]*
> *
> *
> *
> -NHibernateSession.CreateQuery("select n from Nombramiento as n where
> n.persona = " + personaId.ToString() + " AND n.Active = 1 Order by n.Id
> desc"); 'NHibernateSession.CreateQuery("select n from Nombramiento as n
> where n.persona = " + personaId.ToString() + " AND n.Active = 1 Order by
> n.Id desc")' produjo una excepción de tipo 'NHibernate.QueryException'
> NHibernate.IQuery
> {NHibernate.QueryException}
>
> *
>
> *DB.*
> CREATE TABLE [dbo].[Nombramiento](
> [Id] [int] IDENTITY(1,1) NOT NULL,
> [personaId] [int] NOT NULL,
> [FechaDesde] [datetime] NOT NULL,
> [FechaHasta] [datetime] NOT NULL,
> [Active] [bit] NOT NULL,
> CONSTRAINT [PK_Nombramiento] PRIMARY KEY CLUSTERED
> (
> [Id] ASC
> )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =
> OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
> ) ON [PRIMARY]
>
>
>
> *Clase.*
> using System;
> using System.Collections.Generic;
> using System.Linq;
> using System.Text;
>
> namespace PAC.Dominio
> {
> public class Nombramiento : DomainObject<int>, IReplicable
> {
> private Persona _persona;
> private DateTime _fechaHasta;
> private DateTime _fechaDesde;
> private bool _active;
>
> public virtual Persona Persona
> {
> get { return _persona; }
> set { _persona = value; }
> }
>
> public virtual DateTime FechaDesde
> {
> get { return _fechaDesde; }
> set { _fechaDesde = value; }
> }
>
> public virtual DateTime FechaHasta
> {
> get { return _fechaHasta; }
> set { _fechaHasta = value; }
> }
>
> public virtual bool Active
> {
> get { return _active; }
> set { _active = value; }
> }
>
> public override int GetHashCode()
> {
> return (GetType().FullName + "|" +
> Persona.Nombre + "|" +
> Id.ToString()).GetHashCode();
> }
>
> #region IReplicable Members
>
> public int GetId()
> {
> return this.Id;
> }
>
> public string GetNombreEntidad()
> {
> return this.GetType().Name;
> }
> #endregion
> }
> }
>
> *XML de mapeo.*
> <?xml version="1.0" encoding="utf-8" ?>
> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
> <class name="PAC.Dominio.Nombramiento, PAC.Dominio" table="Nombramiento"
> lazy="false">
> <id name="Id" column="Id" unsaved-value="0">
> <generator class="identity" />
> </id>
> <property name="FechaDesde" column="FechaDesde" />
> <property name="FechaHasta" column="FechaHasta" />
> <property name="Active" column="Active" />
>
> <!-- Persona -->
> <many-to-one name="Persona" column="personaId"
> class="PAC.Dominio.Persona, PAC.Dominio" ></many-to-one>
>
> </class>
> </hibernate-mapping>
>
> Gracias y disculpen.
>
> Javier.
>
>