nhibernate按id列表删除多条记录';使用CreateQuery进行查询
我正试图从表A中删除表B中ID列表中存在的多条记录,如下所示:nhibernate按id列表删除多条记录';使用CreateQuery进行查询,nhibernate,fluent-nhibernate,sql-server-ce,Nhibernate,Fluent Nhibernate,Sql Server Ce,我正试图从表A中删除表B中ID列表中存在的多条记录,如下所示: List<ulong> ids = new List<ulong> {1, 2}; string deleteQuery = string.Format( @"DELETE FROM TABLE_A WHERE EXISTS (SELECT id FROM TABLE_B WHERE checkpoint_id IN :idList)");
List<ulong> ids = new List<ulong> {1, 2};
string deleteQuery = string.Format(
@"DELETE FROM TABLE_A WHERE EXISTS
(SELECT id FROM TABLE_B WHERE checkpoint_id IN :idList)");
Session.CreateQuery(deleteQuery).SetParameterList("idList", ids).ExecuteUpdate();
如果我把列表硬编码[在(1,2)],它会工作。
我错过了什么?发现了问题:
我需要一个额外的括号:idList
string deleteQuery = string.Format(
@"DELETE FROM TABLE_A WHERE EXISTS
(SELECT id FROM TABLE_B WHERE checkpoint_id IN (:idList))");
string deleteQuery = string.Format(
@"DELETE FROM TABLE_A WHERE EXISTS
(SELECT id FROM TABLE_B WHERE checkpoint_id IN (:idList))");