Hola Raúl, creo es posible con Criteria pero en este momento no recuerdo como...

antes de llegar a SQL, te recomiendo que pruebes con HQL o, en NH3,
con QueryOver utilizando JoinQueryOver
(http://nhforge.org/blogs/nhibernate/archive/2009/12/17/queryover-in-nh-3-0.aspx).

saludos.
nelo

On Wed, Apr 11, 2012 at 5:56 PM, Raúl <[email protected]> wrote:
> Hola Edgar, en primer lugar, muchas gracias por tu aporte.
>
> Lamentandolo mucho, no me ha funcionado como dices :(
>
>
> He conseguido que funcione de una forma, pero no me termina de gustar
> ya que debo definir una sentencia SQL entera:
>
> var p = sesion.CreateSQLQuery(@"SELECT * FROM Subfamilias sf INNER
> JOIN familias fm ON sf.familia = fm.id WHERE fm.url_es_ES
> = :url").SetParameter("url", Familia_URL).List();
>
>
> No sé si no es posible crear dicho filtro con el CreateCriteria
>
>
>
> On 11 abr, 22:23, Edgar Ramos <[email protected]> wrote:
>> Perdon no lei bien la pregunta
>>
>> Prueba en el archivo de mapeo lo siguiente
>>
>> <many-to-one name="FamiliaPadre" class="FamiliaModel" column="familia" />
>>
>> Saludos
>> Edgar
>>
>> El 11 de abril de 2012 15:16, Edgar Ramos <[email protected]> escribió:
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> > Mira si en el archivo de mapeo de FamiliaModel, tienes definida la
>> > propiedad con el error
>>
>> > Saludos
>> > Edgar
>>
>> > El 11 de abril de 2012 14:42, Raúl <[email protected]> escribió:
>>
>> > Hola!
>>
>> >> Estoy iniciandome en el mundo de NHibernate, y se me presenta un
>> >> problema:
>>
>> >> Tengo dos clases: Familia y Subfamilia
>>
>> >> public class FamiliaModel
>> >>    {
>> >>        public virtual string Id { get; set; }
>> >>        public virtual string Nombre { get; set; }
>> >>        public virtual string Url_es_ES { get; set; }
>> >>        public virtual string Url_ca_ES { get; set; }
>> >>        public virtual string Url_en_GB { get; set; }
>> >>    }
>>
>> >> public class SubfamiliaModel
>> >>    {
>> >>        public virtual int Id { get; set; }
>> >>        public virtual string Nombre { get; set; }
>> >>        public virtual string Url_es_ES { get; set; }
>> >>        public virtual string Url_ca_ES { get; set; }
>> >>        public virtual string Url_en_GB { get; set; }
>>
>> >>        public virtual FamiliaModel FamiliaPadre { get; set; }
>> >>    }
>>
>> >> En el archivo XML de mapeo de la subfamilia, tengo además esta linea:
>>
>> >> <many-to-one name="FamiliaPadre" column="familia" />
>>
>> >> Bien, hecho esto, necesito listar todas las subfamilias, cuya url sea
>> >> la que le pase a la funcion. Es decir:
>>
>> >>        public List<SubfamiliaModel> ListarSubfamilias(string
>> >> Familia_URL)
>> >>        {
>> >>            return
>>
>> >> sesion.CreateCriteria<SubfamiliaModel>().Add(Expression.Eq("FamiliaPadre.Ur
>> >>  l_es_ES",
>> >> Familia_URL)).List<SubfamiliaModel>();
>> >>        }
>>
>> >> No sé si debo establecer algo mas, o proporcionaros un poco más de
>> >> información, pero el caso es que me da el siguiente error:
>>
>> >> Could not resolve property: FamiliaPadre.Url_es_ES of: SubfamiliaModel
>>
>> >> Alguna idea?
>>
>> >> Un saludo y gracias :)
>>
>> >> --
>> >> Para escribir al Grupo, hágalo a esta dirección:
>> >> [email protected]
>> >> Para más, visite:http://groups.google.com/group/NHibernate-Hispano
>>
>> > --
>> > Saludos
>> > Edgar
>>
>> --
>> Saludos
>> Edgar
>
> --
> 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

Responder a