我的Nhibernate HQL查询出了什么问题?

| 我有这个
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();
    }
我得到它无法执行错误“无法执行查询” 当我看它的时候,我的where子句总是等于\“?\”。因此,这就像不使用我的列表来填写。 编辑 如果我有这个
List<strings> myKeys = new List<strings> {\"1\", \"2\"};
GetRecords(myKeys)
会失败 如果我有
List<strings> myKeys = new List<strings> {\"1\"};
GetRecords(myKeys)
有用。因此由于某种原因它不能处理多个值。
已邀请:
您应该使用\“ in \”而不是\“ = \”
const string query = \"FROM TableA WHERE Key in (:keys)\";

要回复问题请先登录注册