0
我需要制作一个过滤器,以便在sql中的一列表中进行搜索。过滤器在NHibernate的列中搜索
我有两种方法,第一种接收字符串(Name或LastName)并返回Collection<Employee>
。
public ICollection<Employee> GetEmployee_ByName(string Name)
{
ICollection<Employee> employee;
using (ISession session = NHibernateSessionBuilder.OpenSession())
{
employee = session.CreateCriteria(typeof(Employee)).Add(Restrictions.Eq("Name", Name)).List<Employee>();
if (employee.Count == 0)
{
employee = session.CreateCriteria(typeof(Employee)).Add(Restrictions.Eq("LastName", Name)).List<Employee>();
}
return employee;
}
}
问题是与CreateCriteria(typeof(Employee)).Add(Restrictions.Eq("LastName", Name))
如果方法得到的字符串,例如:“老虎伍兹”,并在列姓氏该项目的纪录是“伍兹泰勒”,不是返回任何结果,因为这需要有等于列。或者例如“Maikol Smith”,而在专栏中记录的是“Maikol Smith Jonhson”,它不会返回任何东西。
那么,在这种情况下我能做些什么呢?做出好的过滤器。
非常好的谢谢! – ale