【问题标题】:Complex Searching with NHibernate使用 NHibernate 进行复杂搜索
【发布时间】:2009-01-13 21:50:11
【问题描述】:

我很好奇您使用 NHibernate 进行复杂搜索的方法是什么?

我正在使用Ayende's

什么是你的? 感谢您的建议和回答。

【问题讨论】:

    标签: nhibernate search


    【解决方案1】:

    如果我们有一个复杂的动态搜索,我们通常会构造一个 SearchParameter 对象,然后将它传递给一个方法,该方法将为我们构建我们的条件。

    例如,如果我们正在搜索一个人,我们可能有一个如下所示的搜索对象:

    public class PersonSearchParameters
    {
        public string FirstName {get; set;}
        public string LastName {get; set;}
    
        public ICriteria GetSearchCriteria()
        {
            DetachedCriteria query = DetachedCriteria.For(typeof (Person));
            //Add query parameters
            Return query;
        }
    }
    

    然后对于每种类型的搜索,我们将能够从类中创建单个条件,或者我们可以有多个搜索参数类并将它们链接在一起

    【讨论】:

    • 我用的是一样的谢谢
    【解决方案2】:

    我们使用 HQL,但我们仍在尝试围绕 Criteria API 进行复杂查询。使用 HQL 时,我们必须管理大量重复。

    【讨论】:

    • 我根本不是 HQL 的大师,但似乎使用 DetachedCriteria 构建复杂的查询看起来更容易。感谢您的回答
    【解决方案3】:

    我用的 Ayende 差不多,只是有点复杂,你想做什么你不能用它做什么?

    基本上我们添加的是我们有一个接口,我们在其中定义了我们想要搜索的所有字段,当我们即将进行搜索时我们调用它,这意味着我们可以轻松更改我们正在搜索的内容。

    此外,我们在项目中使用了 Active Record(在 Hibernate 之上),它非常酷,大量任务得到简化,但缺少文档有时会造成伤害 加油

    【讨论】:

    • 界面的东西听起来不错,你能不能在这里贴一些代码或者某处可能是我的邮件地址
    猜你喜欢
    • 2011-10-12
    • 2011-04-03
    • 2018-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 2011-10-06
    相关资源
    最近更新 更多