Я реализовал поисковую функцию с помощью Castel Активная Запись. Я думал, что код достаточно прост, но я продолжал добираться
NHibernate. QueryParameterException: не мог определить местоположение названного параметра [searchKeyWords]
ошибки. Кто-то может сказать мне, что пошло не так, как надо? Миллион благодарностей.
public List<Seller> GetSellersWithEmail(string searchKeyWords)
{
if (string.IsNullOrEmpty(searchKeyWords))
{
return new List<Seller>();
}
string hql = @"select distinct s
from Seller s
where s.Deleted = false
and ( s.Email like '%:searchKeyWords%')";
SimpleQuery<Seller> q = new SimpleQuery<Seller>(hql);
q.SetParameter("searchKeyWords", searchKeyWords);
return q.Execute().ToList();
}
Почему вы не передаете символ% с параметром?
string hql = @"select distinct s
from Seller s
where s.Deleted = false
and ( s.Email like :searchKeyWords)";
SimpleQuery<Seller> q = new SimpleQuery<Seller>(hql);
q.SetParameter("searchKeyWords", "%"+searchKeyWords+"%");
return q.Execute().ToList();