在我的应用程序中,我使用的是 nhibernate 2.2。我有一个名为 ReportMaster 的表。在此表中,它有一个名为 JOB_NUM 的字段。该文件的数据如下
JOB_NUM
CT-2012-0072
GEN-2012-0003
UKNDT-2012-0001
CT-2012-0076-EN
在我的属性类中,这被映射到 JobNumber 字段。我的问题是,当我将查询用作 {JobNumber in (CT-2012-0072)} 或 {JobNumber in (UKNDT-2012-0001)} 时,它给了我记录。但是当我将查询用作 {JobNumber in (GEN-2012-0003)} 时,它不会返回记录。
有人对这种不当行为有想法吗?“GEN”是一个休眠关键字吗?我也试过 {JobNumber in ("GEN-2012-0003")} 。它也不返回记录我使用的代码如下:
ArrayList searchValues = new ArrayList();
string jobNumber = "CT-2012-0072";
searchValues.Add(jobNumber);
ArrayList reportColumns = new ArrayList();
reportColumns.Add("JobNumber");
IList reports = connection.LoadListByColumnFilter<OutageReport>("JobNumber", searchValues);
public IList LoadListByColumnFilter<T>(string column, ArrayList values)
{
if (session == null)
{
return null;
}
else
{
IList list = null;
ICriteria criteria = session.CreateCriteria(typeof(T));
criteria.Add(Expression.In(column, values));
list = criteria.List();
return list;
}
}