J'ai une entité ClientNHibernate: Requête par exemple sur la clé primaire produit "WHERE (1 = 1)"
public class Customer
{
public virtual int ID { get; set; }
public virtual string Firstname { get; set; }
public virtual string Lastname { get; set; }
}
et ma méthode DAL est:
public IList<Customer> GetCustomers(Customer example)
{
var customers = default(IList<Customer>);
using (var sessiong = GetSession())
{
customers = sessiong.CreateCriteria(typeof(Customer))
.Add(Example.Create(example))
.List<Customer>();
}
return customers;
}
, mais le problème est que quand je l'appelle ma méthode comme celui-ci
var exemple = new Customer() { ID = 2 };
var customers = provider.GetCustomers(exemple);
J'ai une collection de tous mes clients dans la base de données car NHibernate génère la requête SQL suivante
NHibernate: SELECT this_.CustomerId as CustomerId0_0_, this_.Firstname as Firstname0_0_, this_.Lastname as Lastname0_0_ FROM Customers this_ WHERE (1=1)
NHibernate prend en charge QBE sur la clé primaire? Qu'est-ce que je fais de mal?
P.S. J'ai oublié de mentionner la version de NHibernate que j'utilise. C'est 2.0.1.GA.