【发布时间】:2018-04-12 09:05:37
【问题描述】:
我有一个实体客户
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 吗? 我究竟做错了什么 ?
附:我忘了提及我正在使用的 NHibernate 版本。现在是 2.0.1.GA。
【问题讨论】:
标签: nhibernate