ICriteria.Add like OR
本文关键字:OR like Add ICriteria | 更新日期: 2023-09-27 18:07:43
我有以下代码:
foreach (CheckedListBoxItem item in cbAttributes.Items)
{
if (item.CheckState == CheckState.Checked)
{
if ((string)item.Value == "Category" || (string)item.Value == "Kgs" || (string)item.Value == "Mks" || (string)item.Value == "Author")
{
var alias = item.Value.ToString().Substring(0, 1);
criteria.CreateAlias(item.Value.ToString(), alias);
criteria.Add(Expression.Like(alias + ".Name", "%" + meTextToFind.Text + "%"));
}
}
}
循环后的条件如下:
C.Name like %text% AND K.Name like %text%
问题是我需要OR
而不是AND
。我该怎么做呢?
PS. Nhibernate版本为1.2.1.400.
Expression.Or(Expression.Like("param", param), Expression.Like("param", param))
如果你需要Or
语句中多于2个表达式,请查看此帖子(使用Disjunction)
这里描述:如何为NHibernate创建OR语句?
.Add(
Expression.Disjunction()
.Add(criteria)
.Add(other_criteria)
)