Объект сеанса изменяется, когда объект обновляется в C #

У меня есть эта действительно странная проблема, и я уверен, что упускаю что-то очевидное здесь. У меня есть эти две строки:

HttpContext.Current.Session[listModelType + "ListModel"] = listModel;
listModel.ProductRows = new Collection<ProductRow>(listModel.ProductRows.Where(r => r.ParentRowId == 0).ToList());

После выполнения второй строки мой объект сеанса также обновляется (согласно «Watch» в Visual Studio)

Что мне здесь не хватает?

я пытался

int i = 0;
HttpContext.Current.Session["i"] = i;
i++;

и HttpContext.Current.Session ["i"] остается 0.

Ответы на вопрос(6)

Ваш ответ на вопрос