Мне нужно сделать фильтр для поиска в столбце таблицы в sql.
У меня есть два метода, первый получает строку (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))
, если метод получает строку, например: «Вудс», а в столбце Фамилия запись для этого элемента - «Вудс Тейлор», которая неничего не возвращать, потому что эти потребности равны столбцу.
Или, например, «Майколь Смит», а в столбце запись «Майкол Смит Джонсон», который не возвращает ничего.
Итак,что я могу сделать в этом случае?Сделать хороший фильтр.