我有一個實體的客戶NHibernate的:通過例如在主鍵查詢產生 「WHERE(1 = 1)」
public class Customer
{
public virtual int ID { get; set; }
public virtual string Firstname { get; set; }
public virtual string Lastname { get; set; }
}
和我的DAL方法是:
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;
}
但問題是當我打電話給我這樣的方法
var exemple = new Customer() { ID = 2 };
var customers = provider.GetCustomers(exemple);
我有我的所有客戶在數據庫中的集合,因爲NHibernate生成以下SQL查詢
NHibernate: SELECT this_.CustomerId as CustomerId0_0_, this_.Firstname as Firstname0_0_, this_.Lastname as Lastname0_0_ FROM Customers this_ WHERE (1=1)
NHibernate支持主鍵上的QBE? 我在做什麼錯?
P.S.我忘記提及我使用的NHibernate版本。它是2.0.1.GA.