我知道它已经为这个错误提供了一些解决方案,但是我不知道为什么会出现这个错误。当我加载List而不进行过滤时,它可以工作。
if (searchString != "") {
query = _pagedDataQueryProcessor.GetDefaultQuery<Data.Entities.Password>()
.Where(
Restrictions.Disjunction()
.Add(Restrictions.On<Data.Entities.Password>(x => x.Name).IsLike("%" + searchString + "%"))
.Add(Restrictions.On<Data.Entities.Password>(x => x.Description).IsLike("%" + searchString + "%"))
.Add(Restrictions.On<Data.Entities.Password>(x => x.PasswordText).IsLike("%" + searchString + "%"))
);
我发现了问题是什么
解决方案:
{{1}}
我改变了什么?我没有&#34;%&#34;。
这里我想过滤一个列表但是当我在输入中写了一些东西时,我总是得到一个空列表。
searchstring是过滤后的单词
data.entities.password是db
上的列表有人可以帮助我吗?我不知道自己错了什么。
答案 0 :(得分:1)
您需要添加通配符或向IsLike
添加第二个参数。
...IsLike("%" + searchString + "%"))
您可以将通配符放在字符串中的任何位置,例如仅在开始时或仅在结束时。
或者
...IsLike(searchString, MatchMode.Anywhere)
您还可以使用MatchMode.Start
或MatchMode.End
。