Сложный поиск с NHibernate

Мне интересно, какие методы вы используете для сложного поиска с NHibernate?

Я использую Айенде

Что твое ? Спасибо за советы и ответы.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
0
806
3

Ответы 3

Если у нас есть сложный динамический поиск, мы обычно создаем объект 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;
    }
}

Затем для каждого типа поиска мы сможем создать единый критерий из класса или создать несколько классов параметров поиска и связать их вместе.

Это то же самое, что я использую Спасибо

Barbaros Alp 14.01.2009 01:08

Мы используем HQL, но все еще пытаемся осмыслить API критериев для сложных запросов. При использовании HQL нам приходится справляться с большим количеством дублирования.

Я совсем не мастер HQL, но мне кажется, что создание сложных запросов с помощью DetachedCriteria выглядит проще. Спасибо за Ваш ответ

Barbaros Alp 14.01.2009 01:10

Я использую довольно много Айенде, но немного более сложную, что вы хотите сделать, что вы не можете с этим делать?

По сути, мы добавили то, что у нас есть интерфейс, в котором мы определяем все поля, в которых мы хотим искать, и вызываем это, когда собираемся выполнить поиск, что означает, что мы можем легко изменить то, что ищем.

Также мы используем Active Record в проекте (поверх Hibernate), и это довольно круто, множество задач упрощается, иногда отсутствие документации может повредить Радость

интерфейс отлично звучит, не могли бы вы разместить здесь какой-нибудь код или где-нибудь может быть мой адрес электронной почты

Barbaros Alp 16.01.2009 00:47

Другие вопросы по теме