我的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”而不是“=”

那么你什么时候用“=”号呢?那么你什么时候用“=”号呢?