【发布时间】:2011-01-09 12:44:01
【问题描述】:
在我的应用程序中,用户可以定义搜索条件。他可以选择一列,设置一个运算符(等于、喜欢、大于、小于或等于等)并给出值。用户单击按钮后,应用程序应使用条件对数据库进行搜索。我使用 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 >();
或者有没有更好的解决方案?
感谢您的帮助。
最好的问候,托马斯
【问题讨论】:
-
如果您接受人们的回答,我相信有人会帮助您。
-
嗨,菲尔 - 我只是没有看到,我必须标记一个已接受的答案。现在我已经为其他问题这样做了。我想,这会提高接受率吗? - 或者还有更多的事情要做吗?谢谢!
标签: nhibernate hql nhibernate.search nhibernate-criteria