Buen día a todos.

Estoy realizando una consulta utilizando Nhibernate.Criterion.Example.
Lo hago de la siguiente manera

public IList GetByExample(object exampleInstance, string[] propertiesToExclude)
        {
            ICriteria criteria =
Session.CreateCriteria(exampleInstance.GetType());
            Example example = Example.Create(exampleInstance);
            example.EnableLike(MatchMode.Start);
            example.IgnoreCase();
            foreach (string propertyToExclude in propertiesToExclude)
            {
                example.ExcludeProperty(propertyToExclude);
            }
            criteria.Add(example);

            return criteria.List();
        }

Todo funciona bien, salvo cuando seteo valores a una relación, donde
parece no son tomados en cuenta.

Por ejemplo:

Campo tiene una propiedad many-to-one con Localidad, y quiero obtener
todos los Campos donde el nombre de la localidad comience con Mar.

Entonces

private IList<Campo> ObtenerRegistrosFiltrados()
        {
            List<string> excepciones = new List<string>();
            Campo campoEjemplo = new Campo();

            Localidad localidadEjemplo = new Localidad();
            localidadEjemplo.Nombre = txtNombreLocalidad.Text;
            campoEjemplo.Localidad = localidadEjemplo;

            foreach (System.Reflection.PropertyInfo propertyInfo in
campoEjemplo.GetType().GetProperties())
            {
                if ((propertyInfo.Name != "Nombre")
                    && (propertyInfo.Name != "Localidad"))
                    excepciones.Add(propertyInfo.Name);
            }

            return GetByExample(campoEjemplo, excepciones.ToArray());
        }

Es posible hacer esto? Que me está faltando?

Estoy utilizando la versión 2.1.2.400 de NHibernate.

Muchas Gracias.

-- 
Nicolás Matías Marzoni

-- 
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