我的Nhibernate HQL查询有什么问题?
我有这个我的Nhibernate HQL查询有什么问题?,nhibernate,Nhibernate,我有这个 public List<TableA> GetRecords(List<string> keys) { const string query = "FROM TableA WHERE `Key` = :keys"; return session.CreateQuery(query).SetParameterList("keys",keys).List<TableA>().ToList(); } Lis
public List<TableA> GetRecords(List<string> keys)
{
const string query = "FROM TableA WHERE `Key` = :keys";
return session.CreateQuery(query).SetParameterList("keys",keys).List<TableA>().ToList();
}
List<strings> myKeys = new List<strings> {"1", "2"};
GetRecords(myKeys)
公共列表获取记录(列表键)
{
const string query=“FROM TableA WHERE`Key`=:keys”;
return session.CreateQuery(query).SetParameterList(“keys”,keys).List().ToList();
}
我发现它无法执行错误“无法执行查询”
当我看它时,我的where子句总是等于“?”。所以这就像不使用我的列表来填写一样
编辑
如果我有这个
public List<TableA> GetRecords(List<string> keys)
{
const string query = "FROM TableA WHERE `Key` = :keys";
return session.CreateQuery(query).SetParameterList("keys",keys).List<TableA>().ToList();
}
List<strings> myKeys = new List<strings> {"1", "2"};
GetRecords(myKeys)
List myKeys=新列表{“1”,“2”};
GetRecords(myKeys)
它将失败
如果我有
List<strings> myKeys = new List<strings> {"1"};
GetRecords(myKeys)
List myKeys=新列表{“1”};
GetRecords(myKeys)
它起作用了。因此,由于某些原因,它不能处理多个值。您应该使用“in”而不是“=”
您应该使用“in”而不是“=”
那么你什么时候用“=”号呢?那么你什么时候用“=”号呢?