如何生成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)中修复。

谢谢你的回答!

如何生成NHibernate查询来加载实体WHERE Code = ' somcode '或者类似于&#

使用HQL,你可以这样做:

IQuery q = s.CreateQuery("from Person as p where p.Code in (:code)");
q.SetParameterList("code", someCodes); 

Where someecodes is your IList<String>;

相关文章: