Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用NHibernate进行复杂搜索_Nhibernate_Search - Fatal编程技术网

用NHibernate进行复杂搜索

用NHibernate进行复杂搜索,nhibernate,search,Nhibernate,Search,我很好奇你用什么方法来进行NHibernate的复杂搜索 我正在使用 你的是什么? 感谢您的建议和回答。如果我们有一个复杂的动态搜索,我们通常会构造一个SearchParameter对象,然后将其传递到一个方法中,该方法将为我们构建标准 例如,如果我们正在搜索一个人,我们可能会有一个如下所示的搜索对象: public class PersonSearchParameters { public string FirstName {get; set;} public string L

我很好奇你用什么方法来进行NHibernate的复杂搜索

我正在使用

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

如果我们有一个复杂的动态搜索,我们通常会构造一个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;
    }
}

然后,对于每种类型的搜索,我们将能够从类中创建单个条件,或者我们可以使用多个搜索参数类并将它们链接在一起。我们使用HQL,但我们仍然试图围绕复杂查询的条件API进行研究。在使用HQL时,我们必须管理大量的复制。

我使用的Ayende太多了,但有点复杂,你想做什么,你不能做什么

基本上我们添加的是我们有一个界面,在这里我们定义了我们要搜索的所有字段,当我们要进行搜索时我们调用它,这意味着我们可以很容易地更改我们要搜索的内容

此外,我们在项目中使用活动记录(在Hibernate之上),这非常酷,任务的负载得到简化,文档的缺乏有时确实会造成伤害
Cheel

这和我用的是一样的谢谢我根本不是HQL的高手,但似乎用DetachedCriteria构建复杂查询看起来更容易。谢谢你的回答界面的事情听起来很棒,你能在这里或某处发布一些代码可能是我的邮箱地址吗