Родительский стол OBJECT.Как связать таблицу истории с родительской таблицей
Таблица детей OBJECT_STATUS_HISTORY.
У одного OBJECT много OBJECT_STATUS_HISTORY.
Для текущего статуса OBJECT актуальна только последняя OBJECT_STATUS_HISTORY.
Могу ли я сопоставить эти две таблицы так, как они есть, и заставить NHibernate делать сопоставление OBJECT с OBJECT_STATUS_HISTORY, но! имея доступ только к последней записи. В принципе, вы можете ограничить отображение one_to_many одним_to_one некоторым условием? OBJECT_STATUS_HISTORY останется мешком или набором или списком только с одним объектом или с одним объектом, это не так важно.
Это устаревшая база данных, и этот шаблон все вокруг, поскольку база данных получает исторический ввод извне, и нет, я не могу создать флаг в таблице OBJECT, который дал бы мне текущий статус, а затем сопоставлял бы его непосредственно с NHibernate.
Конечно, я могу добавить в класс памяти OBJECT статус от OBJECT_STATUS_HISTORY позже, но вопрос в следующем: могу ли я сделать это только с помощью сопоставления? Я могу легко создать инструкцию SQL для этого объекта, поэтому по существу я могу создать представление с вышеуказанным требованием, а затем отобразить его в NHibernate, но может ли NHibernate сделать это самостоятельно?
Позвольте мне сейчас, если вопрос не был достаточно ясным.
Итак, вы хотите добавить фильтр на 'bag' или' set', который извлекает последнюю 'object_status_history' для' order'? – Rippo
Да. Мне кажется, что это невозможно в каком-то общем смысле. Можно вернуть что-то последнее, например ID с последней датой. По существу, вопрос заключается в следующем: вы можете каким-то образом отфильтровать «0-ко-многим», чтобы получить 0-к-1 некоторым условием. –