如何生成NHibernate查询来加载实体WHERE Code = ' somcode '或者类似于
本文关键字:somcode 或者 类似于 Code 查询 NHibernate 何生成 加载 WHERE 实体 | 更新日期: 2023-09-27 18:11:28
我有一个名为codes的IList<string>
,用于存储我想要执行查询以从数据库检索实体的代码值。
我必须检索代码满足SQL WHERE条件的所有实体:
Code = 'someCode' OR Code LIKE 'someCode/%'
其中'someCode'依次为IList<string>
码中的每个码。
例子条件:
Code = 'someCode0' OR Code LIKE 'someCode0/%'
OR Code = 'someCode1' OR Code LIKE 'someCode1/%'
OR Code = 'someCode2' OR Code LIKE 'someCode2/%'
.
.
.
OR Code = 'someCodeN' OR Code LIKE 'someCodeN/%'
其中N为码。计数- 1.
我尝试使用CreateSQLQuery
并生成上述字符串,但我得到了一个异常,该异常来自一个bug,该bug在以后的版本(使用NHibernate 1.2.1.4000)中修复。
谢谢你的回答!
使用HQL,你可以这样做:
IQuery q = s.CreateQuery("from Person as p where p.Code in (:code)");
q.SetParameterList("code", someCodes);
Where someecodes is your IList<String>
;