На самом деле у нас есть рабочее решение, где я работаю, но оно эффективно убивает часть механизма nhibernate.
Для «временных сущностей» NH действует только как механизм вставки / выбора. Удаление и обновление выполняются другой утилитой, где ORM-часть NH оказывается полезной.
Если у вас есть только несколько временных объектов, вы можете использовать только nhibernate, но будьте готовы написать свой собственный код, чтобы убедиться, что отношения между состояниями действительны.
Мы пошли по этому пути с нашей первой попытки, и после того, как количество временных сущностей начало складываться, механизм был фактически сломан.
Теперь вставки не нуждаются в специальных инструментах, просто поместите значения в соответствующие свойства datetime, и все готово. Мы реализуем выборки с помощью фильтров (определенно проверьте 16.1 из-за ссылки NH, как это имеет пример, но условие не должно использовать BETWEEN), хотя если вы пойдете таким образом, вам придется изменить исходный код NH для применения фильтры на все виды выбора.
Проверьте это сообщение на http://savale.blogspot.com/2010/01/enabling-filters-on-mapped-entities.html для этого.
Это также может сработать, если вы укажете условие «где» в отображении (вместо фильтров), но я еще не пробовал и не проверял его, и я понимаю, что отображенное «где» в отображении не параметры поддержки (по крайней мере, официально).
Как я отмечу, причина использования специального инструмента для обновлений / удалений станет ясна после прочтения книг Ричарда Снодграсса по временным базам данных http://www.cs.arizona.edu/~rts/publications.html
Чтобы напрямую ответить на ваш вопрос, будет работать как значение NULL _end, так и значение в будущем (но, предпочитая решение NOT-NULL, оно упростит ваши запросы, поскольку вам не придется проверять с ISNULL).
Для обновлений вы фактически делаете клон исходной сущности, затем устанавливаете _end исходной сущности на сейчас, а затем переходите к клонированной и меняете соответствующие свойства, меняете _start на сейчас, _end на далекое будущее значение