我有这个
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)
有效。所以它不能因某种原因处理多个值。
答案 0 :(得分:3)
你应该有“in”而不是“=”
const string query = "FROM TableA WHERE Key in (:keys)";