powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Нужна срочная помощь со сложным запросом
5 сообщений из 5, страница 1 из 1
Нужна срочная помощь со сложным запросом
    #36259473
XopcT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую!
С БД работаю посредством NHibernate. В идеале хотелось бы решить вопрос через критерии.
Есть сообщения (таблица Messages), есть правки к ним (таблица Corrections). Сообщение - это просто айдишник в таблице, на него ссылается множество правок (текст; кто сделал правку; дата изменения; различные реквизиты - в том числе много-ко-многим).
Нужно получить ПОСЛЕДНЮЮ правку для каждого сообщения в разрезе даты. Подскажите, как реализовать? Заранее благодарю.
...
Рейтинг: 0 / 0
Нужна срочная помощь со сложным запросом
    #36259890
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно это реализовать через лимит и условие
...
Рейтинг: 0 / 0
Нужна срочная помощь со сложным запросом
    #36259946
XopcT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZeusTheTrueGod
Это я уже понял. Теперь вопрос стоит в том, куда именно ставить лимит и условие.
Я попытался сделать критерий для Correction, но ограничить по сообщениям мне не удалось.
Теперь пробую выбирать все сообщения, ограничивая коллекцию правок для них. Получается вот так:
Код: plaintext
1.
2.
3.
4.
IList<Message> msgs = base.Session.CreateCriteria(typeof(Message))
    .CreateAlias("Corrections", "correction")
    .Add(Expression.Le("correction.Time", time))
    .SetResultTransformer(new DistinctRootEntityResultTransformer())
    .List<Advertisement>();
Но если потом перебрать результат, то в нём почему-то оказываются правки с бОльшим временем.
Интересует, с нужной ли я стороны взялся? В чём может быть причина проблем с условием?
...
Рейтинг: 0 / 0
Нужна срочная помощь со сложным запросом
    #36262422
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добавить Order и Top 1 - получится нужная запись. ну и так в цикле для каждого сообщения
...
Рейтинг: 0 / 0
Нужна срочная помощь со сложным запросом
    #36262430
XopcT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZeusTheTrueGod
Ну, перебирать в цикле мне не очень хотелось бы. Лучше - всё и сразу.
В целом же, решил вопрос через table-valued functions, как присоветовали в этой теме.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Нужна срочная помощь со сложным запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]