У меня есть объект с именем 'category', и таблица выглядит следующим образом.
CATEGORY
-------------------------------------------------
ID int
ParentCatalogID int
ParentCategoryID int << This is the ID of this table
Position int
Title nvarchar(128)
Description nvarchar(1024)
LastUpdated datetime
DateCreated datetime
IsActive bit
При вставке, обновлении, удалении и т. Д. Все работает как обычно
Сопоставление в порядке.
Данные из этой таблицы отображаются в html-списке, который является «вложенным» (отсюда и самореференция). Все это прекрасно выглядит.
Когда Position
обновляется (двигаться вверх ||, двигаться вниз), обновленный список отражает изменение, и рассматриваемый элемент списка перемещает свою позицию в списке.
Проблема заключается в том, что ParentCatalogID изменяется (переместите влево ||, переместитесь вправо, чтобы стать дочерним элементом вышеупомянутой записи в списке). Данные, переданные методу рендеринга списка, не отражают изменения, пока страница обновляется нажатием клавиши F5 и нажатием кнопки «Обновить» (перезагрузка страницы).
Это даст вам базовое представление о том, как:
foreach (nc_Category category in root.nc_Categorys)
{
HtmlControl listItem = BuildListItemFromCategory(category);
if (category.nc_Categorys.Count > 0)
{
listItem.Controls.Add(BuildListFromCategorys(category.nc_Categorys));
}
mainList.Controls.Add(listItem);
}
Это все отлично работает. Проблема заключается в том, что в строке >> foreach (nc_Category category in root.nc_Categorys)
root.nc_Categorys
(дочерние элементы текущего объекта) не отражают изменения, внесенные до обновления страницы. Я могу видеть это в отладке. Поэтому NHibernate не получает обновления при отложенной загрузке.
Изменения зафиксированы, сброшены и видны в базе данных. Они не возвращаются NHibernate.
Я пробовал метод Refresh () на объекте, это не работает. Это дети объекта, которые должны быть обновлены.
Я попытался очистить сеанс и многое другое, но безрезультатно. Это происходит только при изменении ParentCategoryID
. При изменении Position
они отображаются сразу.
Кажется, что похоже, но не уверен: http://jira.nhibernate.org/browse/NH-1604
Я отвечаю. Перенаправляю на ту же страницу (юк). Работает нормально, но в этом нет необходимости. Ответ очень ценится.