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