私のアプリケーションでは、nhibernate2.2を使用しています。ReportMasterという名前のテーブルがあります。このテーブルには、JOB_NUMという名前のフィールドがあります。このファイルには次のようなデータがあります
JOB_NUM
CT-2012-0072
GEN-2012-0003
UKNDT-2012-0001
CT-2012-0076-EN
私のプロパティクラスでは、これはJobNumberfiledにマップされていました。私の問題は、クエリを{JobNumber in(CT-2012-0072)}または{JobNumber in(UKNDT-2012-0001)}として使用すると、レコードが得られることです。しかし、クエリを{JobNumber in(GEN-2012-0003)}として使用すると、レコードが返されません。
誰かがこの不正行為について考えを持っていますか?「GEN」はnhibernateキーワードですか?{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;
}
}