Soy un novato en el gran mundo de NHibernate. Estoy usando la versión 2.0.1.GA. Aquí está mi pregunta Tengo una tabla Cars
con la columna Manufacturer(nvarchar(50))
y una clave principal ID(int)
. Mi clase de .NET es:C# Lambda expressions y NHibernate
public class Car
{
public virtual int ID { get; set; }
public virtual string Manufacturer { get; set; }
}
Ahora si quiero recuperar todos los coches fabricados por Mercedes Tengo que escribir esto:
using (var session = OpenSession())
{
var cars = session
.CreateCriteria(typeof(Car))
.Add(Restrictions.Like("Manufacturer", "Mercedes"))
.List();
// ...
}
no me gusta el hecho de que tengo que especificar el nombre de la propiedad como una cadena :( ¿es posible tener algo más amigable refactor probable (es sólo una sugerencia)?
var ms = session
.CreateCriteria<Car>()
.Add(c => c.Manufacturer, Restrictions.Like("Mercedes")
.List();
nada como se adelgaza en la versión actual (2.0.1.GA) o en un futu re versión?
Gracias, no tengo la sintaxis en la parte superior de mi cabeza, +1 –
Podría observar que "me gusta" y "igual" no producirán los mismos resultados. Recientemente probé (no muy difícil) para encontrar una manera de hacer "me gusta" en NHibnate.Linq. Me di por vencido y usé ICriteria en su lugar. –
En una edición sugerida [Mike] (http://stackoverflow.com/users/77939/mike) señaló que "Si está utilizando NHibernate 3.0 o posterior, el proveedor de LINQ está integrado. El uso es ligeramente diferente: 'session.Query .Where (c => c.Manufacturer ==" Mercedes "). ToList()' " –