0
sqlのテーブルのカラムを検索するフィルタを作成する必要があります。NHibernateでカラムを検索するフィルタ
私は2つのメソッドを持っています。最初のものは文字列(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」です。
この場合、どうすればよいですか。良いフィルターを作る。 、あなたは次のようなSQLを生成するよう代わりに式を使用することにより
select ... from ... where LastName = 'Woods'
:
は 代わりに、式の
非常に感謝! – ale