在我的应用程序中,用户可以定义搜索条件。他可以选择一列,设置一个运算符(等于、喜欢、大于、小于或等于等)并给出值。用户单击按钮后,应用程序应使用条件对数据库进行搜索。我使用 NHibernate,现在问我,使用 NHibernate 最有效的方法是什么。
我应该用它创建一个查询吗(Column=Name, Operator=Like, Value=%John%)
var a = session.CreateCriteria<Customer>();
a.Add(Restrictions.Like("Name", "%John%"));
return a.List<Customer>();
或者我应该用 HQL 做到这一点:
var q = session.CreateQuery("from Customer where " + where);
return q.List<Customer >();
还是有更好的解决方案?
谢谢你的帮助。
最好的问候,托马斯